[PATCH 1/6] USB: Fix stale usb devices in usb_device_list
Sebastian Hesselbarth
sebastian.hesselbarth at gmail.com
Thu Jul 24 09:09:04 PDT 2014
On 07/24/2014 03:28 PM, Sebastian Hesselbarth wrote:
> New usb devices are added to a list of usb devices, but when removing
> the corresponding usb_device it was not removed from that list. Fix it
> by deleting it properly from the usb_device_list.
>
> Signed-off-by: Sebastian Hesselbarth <sebastian.hesselbarth at gmail.com>
> ---
> To: Sascha Hauer <s.hauer at pengutronix.de>
> Cc: Thomas Petazzoni <thomas.petazzoni at free-electrons.com>
> Cc: Ezequiel Garcia <ezequiel.garcia at free-electrons.com>
> Cc: barebox at lists.infradead.org
> ---
> drivers/usb/core/usb.c | 1 +
> 1 file changed, 1 insertion(+)
>
> diff --git a/drivers/usb/core/usb.c b/drivers/usb/core/usb.c
> index 351e783b6536..2cc338465539 100644
> --- a/drivers/usb/core/usb.c
> +++ b/drivers/usb/core/usb.c
> @@ -472,6 +472,7 @@ void usb_remove_device(struct usb_device *usbdev)
> dev_err(&usbdev->dev, "failed to unregister\n");
>
> usbdev->parent->children[usbdev->portnr - 1] = NULL;
> + list_del(&usbdev->list);
Unfortunately, this breaks usb_remove_device when called on a
device that has not yet gone through usb_new_device().
I'll have a closer look at it.
Sebastian
> free(usbdev);
> }
>
>
More information about the barebox
mailing list