Message ID | 20220907132040.7747-1-oneukum@suse.com |
---|---|
State | New |
Headers | show |
Series | USB: serial: ch341: GFP_KERNEL in reset_resume() | expand |
On Wed, Sep 07, 2022 at 03:20:40PM +0200, Oliver Neukum wrote: > All instances of reset_resume() are potential > parts of the block IO path. Use GFP_NOIO. Please be more verbose here. I have to think through this every time it is brought up, and I'm not even sure it's actually an issue any more. Furthermore, if this is indeed still a problem, then this should be fixed in a central place using memalloc_noio_save(). > Signed-off-by: Oliver Neukum <oneukum@suse.com> > --- > drivers/usb/serial/ch341.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/drivers/usb/serial/ch341.c b/drivers/usb/serial/ch341.c > index af01a462cc43..3d4f68d58513 100644 > --- a/drivers/usb/serial/ch341.c > +++ b/drivers/usb/serial/ch341.c > @@ -137,7 +137,7 @@ static int ch341_control_in(struct usb_device *dev, And this helper is not only used in the reset path. > r = usb_control_msg_recv(dev, 0, request, > USB_TYPE_VENDOR | USB_RECIP_DEVICE | USB_DIR_IN, > value, index, buf, bufsize, DEFAULT_TIMEOUT, > - GFP_KERNEL); > + GFP_NOIO); > if (r) { > dev_err(&dev->dev, "failed to receive control message: %d\n", Johan
diff --git a/drivers/usb/serial/ch341.c b/drivers/usb/serial/ch341.c index af01a462cc43..3d4f68d58513 100644 --- a/drivers/usb/serial/ch341.c +++ b/drivers/usb/serial/ch341.c @@ -137,7 +137,7 @@ static int ch341_control_in(struct usb_device *dev, r = usb_control_msg_recv(dev, 0, request, USB_TYPE_VENDOR | USB_RECIP_DEVICE | USB_DIR_IN, value, index, buf, bufsize, DEFAULT_TIMEOUT, - GFP_KERNEL); + GFP_NOIO); if (r) { dev_err(&dev->dev, "failed to receive control message: %d\n", r);
All instances of reset_resume() are potential parts of the block IO path. Use GFP_NOIO. Signed-off-by: Oliver Neukum <oneukum@suse.com> --- drivers/usb/serial/ch341.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)