diff options
author | Oliver Neukum <oliver@neukum.org> | 2009-10-07 04:50:23 -0400 |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@suse.de> | 2009-10-09 16:52:09 -0400 |
commit | 638325154572ba2113a18669fe3b299caa2dabd9 (patch) | |
tree | c562a8460be432facbbba11288edaceba5ecbf1c /drivers/usb/serial/kl5kusb105.c | |
parent | b2a5cf1bdc011f5474c72543f9d8116c0f07f452 (diff) |
USB: serial: fix assumption that throttle/unthrottle cannot sleep
many serial subdrivers are clearly written as if throttle/unthrottle
cannot sleep. This leads to unneeded atomic submissions. This
patch converts affected drivers in a way to makes very clear that
throttle/unthrottle can sleep. Thus future misdesigns can be avoided
and efficiency and reliability improved.
This removes any such assumption using GFP_KERNEL and spin_lock_irq()
Signed-off-by: Oliver Neukum <oliver@neukum.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
Diffstat (limited to 'drivers/usb/serial/kl5kusb105.c')
-rw-r--r-- | drivers/usb/serial/kl5kusb105.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/drivers/usb/serial/kl5kusb105.c b/drivers/usb/serial/kl5kusb105.c index f7373371b137..3a7873806f46 100644 --- a/drivers/usb/serial/kl5kusb105.c +++ b/drivers/usb/serial/kl5kusb105.c | |||
@@ -951,7 +951,7 @@ static void klsi_105_unthrottle(struct tty_struct *tty) | |||
951 | dbg("%s - port %d", __func__, port->number); | 951 | dbg("%s - port %d", __func__, port->number); |
952 | 952 | ||
953 | port->read_urb->dev = port->serial->dev; | 953 | port->read_urb->dev = port->serial->dev; |
954 | result = usb_submit_urb(port->read_urb, GFP_ATOMIC); | 954 | result = usb_submit_urb(port->read_urb, GFP_KERNEL); |
955 | if (result) | 955 | if (result) |
956 | dev_err(&port->dev, | 956 | dev_err(&port->dev, |
957 | "%s - failed submitting read urb, error %d\n", | 957 | "%s - failed submitting read urb, error %d\n", |