diff options
| author | Linux Build Service Account <lnxbuild@localhost> | 2017-01-17 17:18:25 -0800 |
|---|---|---|
| committer | Gerrit - the friendly Code Review server <code-review@localhost> | 2017-01-17 17:18:25 -0800 |
| commit | 4f8760a889f182c30ae9d63f1afa641ed4aa9252 (patch) | |
| tree | 36e1c9555773cb20d13b868b5962166653fc78fb | |
| parent | f5e475678f8c6dccb97b931f8556ab38209d020b (diff) | |
| parent | 24a389ae5faada917da4faa56471d66e3ee67011 (diff) | |
Merge "HID: uhid: Remove mutex_unlock while waiting"
| -rw-r--r-- | drivers/hid/uhid.c | 18 |
1 files changed, 0 insertions, 18 deletions
diff --git a/drivers/hid/uhid.c b/drivers/hid/uhid.c index 54dc4ce09f35..1a2032c2c1fb 100644 --- a/drivers/hid/uhid.c +++ b/drivers/hid/uhid.c @@ -175,27 +175,9 @@ static int __uhid_report_queue_and_wait(struct uhid_device *uhid, uhid_queue(uhid, ev); spin_unlock_irqrestore(&uhid->qlock, flags); - /* - * Assumption: report_lock and devlock are both locked. So unlock - * before sleeping. - */ - mutex_unlock(&uhid->report_lock); - mutex_unlock(&uhid->devlock); ret = wait_event_interruptible_timeout(uhid->report_wait, !uhid->report_running || !uhid->running, 5 * HZ); - ret = mutex_lock_interruptible(&uhid->devlock); - if (ret) - return ret; - ret = mutex_lock_interruptible(&uhid->report_lock); - if (ret) { - /* - * Failed to lock, unlock previous mutex before exiting - * this function. - */ - mutex_unlock(&uhid->devlock); - return ret; - } if (!ret || !uhid->running || uhid->report_running) ret = -EIO; else if (ret < 0) |
