diff options
Diffstat (limited to 'drivers')
-rw-r--r-- | drivers/usb/class/usblp.c | 9 |
1 files changed, 5 insertions, 4 deletions
diff --git a/drivers/usb/class/usblp.c b/drivers/usb/class/usblp.c index 9a1478972bf5..80ec1039d670 100644 --- a/drivers/usb/class/usblp.c +++ b/drivers/usb/class/usblp.c | |||
@@ -741,10 +741,11 @@ static ssize_t usblp_write(struct file *file, const char __user *buffer, size_t | |||
741 | */ | 741 | */ |
742 | rv = usblp_wwait(usblp, !!(file->f_flags&O_NONBLOCK)); | 742 | rv = usblp_wwait(usblp, !!(file->f_flags&O_NONBLOCK)); |
743 | if (rv < 0) { | 743 | if (rv < 0) { |
744 | /* | 744 | if (rv == -EAGAIN) { |
745 | * If interrupted, we simply leave the URB to dangle, | 745 | /* Presume that it's going to complete well. */ |
746 | * so the ->release will call usb_kill_urb(). | 746 | writecount += transfer_length; |
747 | */ | 747 | } |
748 | /* Leave URB dangling, to be cleaned on close. */ | ||
748 | goto collect_error; | 749 | goto collect_error; |
749 | } | 750 | } |
750 | 751 | ||