diff options
author | Oliver Neukum <oliver@neukum.name> | 2006-11-29 12:45:29 +0100 |
---|---|---|
committer | Adrian Bunk <bunk@stusta.de> | 2006-11-29 12:45:29 +0100 |
commit | feeddb339e1e9670e436f5f6328d958941727875 (patch) | |
tree | 7401ea407b52681cfbdd1d2bd7fe83971271d894 /drivers | |
parent | 193d2e39e134fb04211b77e0eb0ac3f8315a5967 (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>
Diffstat (limited to 'drivers')
-rw-r--r-- | drivers/usb/class/usblp.c | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/drivers/usb/class/usblp.c b/drivers/usb/class/usblp.c index d34848ac30b..cc03f6875ed 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 |