From 4d3175bfba0d83ece3d8c31e592d1e4b9889c8a7 Mon Sep 17 00:00:00 2001 From: Pete Zaitcev Date: Tue, 10 Jul 2007 20:09:58 -0700 Subject: [PATCH] --- yaml --- r: 61930 b: refs/heads/master c: 10e485221edd2799dc495e4cde98fe74aeb292b1 h: refs/heads/master v: v3 --- [refs] | 2 +- trunk/drivers/usb/class/usblp.c | 9 +++++---- 2 files changed, 6 insertions(+), 5 deletions(-) diff --git a/[refs] b/[refs] index 623456903fa8..f7769493462c 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 9454c46a89c13fe82a28c91706b86f612fd19462 +refs/heads/master: 10e485221edd2799dc495e4cde98fe74aeb292b1 diff --git a/trunk/drivers/usb/class/usblp.c b/trunk/drivers/usb/class/usblp.c index 9a1478972bf5..80ec1039d670 100644 --- a/trunk/drivers/usb/class/usblp.c +++ b/trunk/drivers/usb/class/usblp.c @@ -741,10 +741,11 @@ static ssize_t usblp_write(struct file *file, const char __user *buffer, size_t */ rv = usblp_wwait(usblp, !!(file->f_flags&O_NONBLOCK)); if (rv < 0) { - /* - * If interrupted, we simply leave the URB to dangle, - * so the ->release will call usb_kill_urb(). - */ + if (rv == -EAGAIN) { + /* Presume that it's going to complete well. */ + writecount += transfer_length; + } + /* Leave URB dangling, to be cleaned on close. */ goto collect_error; }