diff mbox series

HID: do not use down_interruptible() when unbinding devices

Message ID YFVBZCrmzvNJQstT@google.com
State Accepted
Commit f2145f8dc566c4f3b5a8deb58dcd12bed4e20194
Headers show
Series HID: do not use down_interruptible() when unbinding devices | expand

Commit Message

Dmitry Torokhov March 20, 2021, 12:27 a.m. UTC
Action of unbinding driver from a device is not cancellable and should not
fail, and driver core does not pay attention to the result of "remove"
method, therefore using down_interruptible() in hid_device_remove() does
not make sense.

Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
---
 drivers/hid/hid-core.c | 10 +++-------
 1 file changed, 3 insertions(+), 7 deletions(-)

Comments

Jiri Kosina May 5, 2021, 12:25 p.m. UTC | #1
On Fri, 19 Mar 2021, Dmitry Torokhov wrote:

> Action of unbinding driver from a device is not cancellable and should not

> fail, and driver core does not pay attention to the result of "remove"

> method, therefore using down_interruptible() in hid_device_remove() does

> not make sense.


Applied, thanks Dmitry.

-- 
Jiri Kosina
SUSE Labs
diff mbox series

Patch

diff --git a/drivers/hid/hid-core.c b/drivers/hid/hid-core.c
index 56172fe6995c..ec63a9ff40dc 100644
--- a/drivers/hid/hid-core.c
+++ b/drivers/hid/hid-core.c
@@ -2300,12 +2300,8 @@  static int hid_device_remove(struct device *dev)
 {
 	struct hid_device *hdev = to_hid_device(dev);
 	struct hid_driver *hdrv;
-	int ret = 0;
 
-	if (down_interruptible(&hdev->driver_input_lock)) {
-		ret = -EINTR;
-		goto end;
-	}
+	down(&hdev->driver_input_lock);
 	hdev->io_started = false;
 
 	hdrv = hdev->driver;
@@ -2320,8 +2316,8 @@  static int hid_device_remove(struct device *dev)
 
 	if (!hdev->io_started)
 		up(&hdev->driver_input_lock);
-end:
-	return ret;
+
+	return 0;
 }
 
 static ssize_t modalias_show(struct device *dev, struct device_attribute *a,