summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorOliver Neukum <oliver@neukum.name>2006-11-29 12:45:29 +0100
committerAdrian Bunk <bunk@stusta.de>2006-11-29 12:45:29 +0100
commitfeeddb339e1e9670e436f5f6328d958941727875 (patch)
tree7401ea407b52681cfbdd1d2bd7fe83971271d894
parent193d2e39e134fb04211b77e0eb0ac3f8315a5967 (diff)
USB: failure in usblp's error path
if urb submission fails due to a transient error here eg. ENOMEM, the driver is dead. This fixes it. Signed-off-by: Oliver Neukum <oliver@neukum.name> Signed-off-by: Adrian Bunk <bunk@stusta.de>
-rw-r--r--drivers/usb/class/usblp.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/drivers/usb/class/usblp.c b/drivers/usb/class/usblp.c
index d34848ac30b0..cc03f6875ed0 100644
--- a/drivers/usb/class/usblp.c
+++ b/drivers/usb/class/usblp.c
@@ -700,6 +700,7 @@ static ssize_t usblp_write(struct file *file, const char __user *buffer, size_t
usblp->wcomplete = 0;
err = usb_submit_urb(usblp->writeurb, GFP_KERNEL);
if (err) {
+ usblp->wcomplete = 1;
if (err != -ENOMEM)
count = -EIO;
else