Re: [PATCH] usb/core/devio.c: Don't use GFP_KERNEL while we cannotreset a storage device

From: Ming Lei
Date: Mon Mar 11 2013 - 09:31:11 EST


On Sat, Mar 9, 2013 at 12:50 AM, Alexey Khoroshilov
<khoroshilov@xxxxxxxxx> wrote:
> As it was described by Oliver Neukum in commit acbe2fe
> "USB: Don't use GFP_KERNEL while we cannot reset a storage device":
>
> Memory allocations with GFP_KERNEL can cause IO to a storage device
> which can fail resulting in a need to reset the device. Therefore
> GFP_KERNEL cannot be safely used between usb_lock_device()
> and usb_unlock_device(). Replace by GFP_NOIO.
>
> The patch fixes the same issue in usb/core/devio.c.
> All the allocations fixed are under usb_lock_device() from usbdev_do_ioctl().

I am wondering why the device lock is needed for usbdev_do_ioctl()? Looks
device lock isn't required for USB transfer of kernel driver.


Thanks,
--
Ming Lei
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/