HID: do not use down_interruptible() when unbinding devices
authorDmitry Torokhov <dmitry.torokhov@gmail.com>
Sat, 20 Mar 2021 00:27:16 +0000 (17:27 -0700)
committerJiri Kosina <jkosina@suse.cz>
Wed, 5 May 2021 12:24:56 +0000 (14:24 +0200)
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>
Signed-off-by: Jiri Kosina <jkosina@suse.cz>
drivers/hid/hid-core.c

index 0ae9f6d..ff695ec 100644 (file)
@@ -2303,12 +2303,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;
@@ -2323,8 +2319,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,