mirror of
https://github.com/raspberrypi/linux.git
synced 2025-12-06 01:49:46 +00:00
HID: do not use down_interruptible() when unbinding devices
[ Upstream commit f2145f8dc5 ]
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>
Signed-off-by: Sasha Levin <sashal@kernel.org>
This commit is contained in:
committed by
Greg Kroah-Hartman
parent
51b7499cec
commit
2c0285062d
@@ -2306,12 +2306,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;
|
||||||
@@ -2326,8 +2322,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