hid-elo: update the reference count of the usb device structure
PATCH RESEND v2 1/1 hid-elo: update the reference count of the usb device structure
Use usb_get_dev() to increment the reference count of the usb device structure in order to avoid releasing the structure while it is still in use. And use usb_put_dev() to decrement the reference count and thus, when it will be equal to 0 the structure will be released.
Signed-off-by Salah Triki <[email protected]>
---
Change since v1:
Modification of the description
drivers/hid/hid-elo.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-)
drivers/hid/hid-elo.c +5 -1
@@ -228,13 +228,15 @@ static int elo_probe(struct hid_device *hdev, const struct hid_device_id *id) {struct elo_priv *priv;int ret; +struct usb_device *udev; priv =kzalloc (sizeof (*priv),GFP_KERNEL );if (!priv)return -ENOMEM ;INIT_DELAYED_WORK (&priv->work, elo_work); - priv->usbdev =interface_to_usbdev (to_usb_interface (hdev->dev.parent)); + udev =interface_to_usbdev (to_usb_interface (hdev->dev.parent)); + priv->usbdev =usb_get_dev (udev);hid_set_drvdata (hdev, priv);
@@ -265,6 +267,8 @@ static void elo_remove(struct hid_device *hdev) {struct elo_priv *priv =hid_get_drvdata (hdev); +usb_put_dev (priv->usbdev); +hid_hw_stop (hdev);cancel_delayed_work_sync (&priv->work);kfree (priv);
Signature · 1 line
2.25.1
Quoted 4 lines · Salah Triki
Use
usb_get_dev()to increment the reference count of the usb device structure in order to avoid releasing the structure while it is still in use. And useusb_put_dev()to decrement the reference count and thus, when it will be equal to 0 the structure will be released.
Applied, thanks for spotting this.
Signature · 2 lines
Jiri Kosina SUSE Labs