HID: do not use down_interruptible() when unbinding devices
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>
This commit is contained in:
committed by
Jiri Kosina
parent
efd8929b9e
commit
f2145f8dc5
@@ -2303,12 +2303,8 @@ static int hid_device_remove(struct device *dev)
|
|||||||
{
|
{
|
||||||
struct hid_device *hdev = to_hid_device(dev);
|
struct hid_device *hdev = to_hid_device(dev);
|
||||||
struct hid_driver *hdrv;
|
struct hid_driver *hdrv;
|
||||||
int ret = 0;
|
|
||||||
|
|
||||||
if (down_interruptible(&hdev->driver_input_lock)) {
|
down(&hdev->driver_input_lock);
|
||||||
ret = -EINTR;
|
|
||||||
goto end;
|
|
||||||
}
|
|
||||||
hdev->io_started = false;
|
hdev->io_started = false;
|
||||||
|
|
||||||
hdrv = hdev->driver;
|
hdrv = hdev->driver;
|
||||||
@@ -2323,8 +2319,8 @@ static int hid_device_remove(struct device *dev)
|
|||||||
|
|
||||||
if (!hdev->io_started)
|
if (!hdev->io_started)
|
||||||
up(&hdev->driver_input_lock);
|
up(&hdev->driver_input_lock);
|
||||||
end:
|
|
||||||
return ret;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
static ssize_t modalias_show(struct device *dev, struct device_attribute *a,
|
static ssize_t modalias_show(struct device *dev, struct device_attribute *a,
|
||||||
|
|||||||
Reference in New Issue
Block a user