]> git.baikalelectronics.ru Git - kernel.git/commit
USB: usb_wwan: fix potential blocked I/O after resume
authorJohan Hovold <jhovold@gmail.com>
Mon, 26 May 2014 17:23:18 +0000 (19:23 +0200)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Tue, 27 May 2014 22:04:06 +0000 (15:04 -0700)
commit2bdd45518853d18c5a1ad11081252e544b774388
treea8ef16231d9a7749bf51a0776a2cd8659b52cd13
parentfed62540cf683f91bd2527a60b0fab2de4159823
USB: usb_wwan: fix potential blocked I/O after resume

Keep trying to submit urbs rather than bail out on first read-urb
submission error, which would also prevent I/O for any further ports
from being resumed.

Instead keep an error count, for all types of failed submissions, and
let USB core know that something went wrong.

Also make sure to always clear the suspended flag. Currently a failed
read-urb submission would prevent cached writes as well as any
subsequent writes from being submitted until next suspend-resume cycle,
something which may not even necessarily happen.

Note that USB core currently only logs an error if an interface resume
failed.

Fixes: a2521e4271fe ("USB: serial: full autosuspend support for the
option driver")

Cc: <stable@vger.kernel.org> # v2.6.32
Signed-off-by: Johan Hovold <jhovold@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/usb/serial/usb_wwan.c