lkml.org 
[lkml]   [2021]   [Jul]   [12]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH 5.13 208/800] HID: do not use down_interruptible() when unbinding devices
    Date
    From: Dmitry Torokhov <dmitry.torokhov@gmail.com>

    [ Upstream commit f2145f8dc566c4f3b5a8deb58dcd12bed4e20194 ]

    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>
    ---
    drivers/hid/hid-core.c | 10 +++-------
    1 file changed, 3 insertions(+), 7 deletions(-)

    diff --git a/drivers/hid/hid-core.c b/drivers/hid/hid-core.c
    index 0de2788b9814..7db332139f7d 100644
    --- a/drivers/hid/hid-core.c
    +++ b/drivers/hid/hid-core.c
    @@ -2306,12 +2306,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;
    @@ -2326,8 +2322,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,
    --
    2.30.2


    \
     
     \ /
      Last update: 2021-07-12 10:40    [W:4.152 / U:0.144 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site