diff --git a/drivers/char/xillybus/xillyusb.c b/drivers/char/xillybus/xillyusb.c index 13dda738477c..9de4298209e7 100644 --- a/drivers/char/xillybus/xillyusb.c +++ b/drivers/char/xillybus/xillyusb.c @@ -1413,15 +1413,11 @@ static int xillyusb_open(struct inode *inode, struct file *filp) if (filp->f_mode & FMODE_WRITE) chan->open_for_write = 0; - mutex_unlock(&chan->lock); - - kref_put(&xdev->kref, cleanup_dev); - - return rc; - unmutex_fail: - kref_put(&xdev->kref, cleanup_dev); mutex_unlock(&chan->lock); + + kref_put(&xdev->kref, cleanup_dev); + return rc; }