From c728125eea7e40ef6fde3a9abdf844615d45b677 Mon Sep 17 00:00:00 2001 From: Oliver Neukum Date: Thu, 26 Aug 2004 01:56:59 -0700 Subject: [PATCH] [PATCH] USB: cdc acm patch Fix tty layer sleep/locking problem (again) ... when this is called through the network stack (PPP) sleeping isn't allowed. There's some bugtraq ID for this. From: Oliver Neukum Signed-off-by: David Brownell Signed-off-by: Greg Kroah-Hartman --- drivers/usb/class/cdc-acm.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/usb/class/cdc-acm.c b/drivers/usb/class/cdc-acm.c index 9b64778d4eb1c..37af64263c1b8 100644 --- a/drivers/usb/class/cdc-acm.c +++ b/drivers/usb/class/cdc-acm.c @@ -367,7 +367,7 @@ static int acm_tty_write(struct tty_struct *tty, int from_user, const unsigned c acm->writeurb->dev = acm->dev; acm->ready_for_write = 0; - stat = usb_submit_urb(acm->writeurb, GFP_NOIO); + stat = usb_submit_urb(acm->writeurb, from_user ? GFP_KERNEL : GFP_ATOMIC); if (stat < 0) { dbg("usb_submit_urb(write bulk) failed"); acm->ready_for_write = 1; -- 2.53.0