]> git.baikalelectronics.ru Git - kernel.git/commit
USB: usblp: "Big cleanup" breaks O_NONBLOCK
authorPete Zaitcev <zaitcev@redhat.com>
Wed, 11 Jul 2007 03:09:58 +0000 (20:09 -0700)
committerGreg Kroah-Hartman <gregkh@suse.de>
Fri, 20 Jul 2007 00:46:03 +0000 (17:46 -0700)
commit37f7d7d3a6767e19d47d41f57e7dc9d066d06b28
tree44998327db21c9b1afa1166358e697244ad7a96c
parentb7808f5e9ddee5a3c5ce6dc2178da9c9ae52c2d6
USB: usblp: "Big cleanup" breaks O_NONBLOCK

I found the first regresson in the rewritten ("all dynamic" and "no races")
driver. If application uses O_NONBLOCK, I return -EAGAIN despite the URB
being submitted successfuly. This causes the application to resubmit the
same data erroneously.

The fix is to pretend that the transfer has succeeded even if URB was
merely queued. It is the same behaviour as with the old version.

Signed-off-by: Pete Zaitcev <zaitcev@redhat.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
drivers/usb/class/usblp.c