summaryrefslogtreecommitdiffstats
path: root/drivers/usb/serial/generic.c
diff options
context:
space:
mode:
authorJohan Hovold <jhovold@gmail.com>2013-11-09 12:38:10 +0100
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2013-11-25 17:39:40 +0100
commit043e3f834530e15e89c58c1b7af59cc646700134 (patch)
tree14b3c7551844df5cdb030e4100a11ab96632ffcc /drivers/usb/serial/generic.c
parentUSB: serial: fix race in generic write (diff)
downloadlinux-043e3f834530e15e89c58c1b7af59cc646700134.tar.xz
linux-043e3f834530e15e89c58c1b7af59cc646700134.zip
USB: serial: fix write memory-allocation flag
Fix regression introduced by commit 818f60365a29 ("USB: serial: add memory flags to usb_serial_generic_write_start"), which incorrectly used GFP_KERNEL in write(), which must not not sleep. Reported-by: Dave Jones <davej@fedoraproject.org> Tested-by: Dave Jones <davej@fedoraproject.org> Cc: Dave Jones <davej@fedoraproject.org> Signed-off-by: Johan Hovold <jhovold@gmail.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to 'drivers/usb/serial/generic.c')
-rw-r--r--drivers/usb/serial/generic.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/drivers/usb/serial/generic.c b/drivers/usb/serial/generic.c
index e36b25a2fa02..b63ce023f96f 100644
--- a/drivers/usb/serial/generic.c
+++ b/drivers/usb/serial/generic.c
@@ -200,7 +200,7 @@ int usb_serial_generic_write(struct tty_struct *tty,
return 0;
count = kfifo_in_locked(&port->write_fifo, buf, count, &port->lock);
- result = usb_serial_generic_write_start(port, GFP_KERNEL);
+ result = usb_serial_generic_write_start(port, GFP_ATOMIC);
if (result)
return result;