]> git.ipfire.org Git - thirdparty/kernel/stable.git/commit
usb: host: max3421-hcd: Correctly abort a USB request.
authorMark Tomlinson <mark.tomlinson@alliedtelesis.co.nz>
Sun, 24 Nov 2024 22:14:30 +0000 (11:14 +1300)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Thu, 19 Dec 2024 17:07:17 +0000 (18:07 +0100)
commite75054ff9cabb8e071ec61aed52cce426c80a31e
tree2c76a3be72bd4d588c7612c24802998d6c73837c
parent98b76329bd63a69f2aef323e36a9f39113b19e82
usb: host: max3421-hcd: Correctly abort a USB request.

commit 0d2ada05227881f3d0722ca2364e3f7a860a301f upstream.

If the current USB request was aborted, the spi thread would not respond
to any further requests. This is because the "curr_urb" pointer would
not become NULL, so no further requests would be taken off the queue.
The solution here is to set the "urb_done" flag, as this will cause the
correct handling of the URB. Also clear interrupts that should only be
expected if an URB is in progress.

Fixes: 2d53139f3162 ("Add support for using a MAX3421E chip as a host driver.")
Cc: stable <stable@kernel.org>
Signed-off-by: Mark Tomlinson <mark.tomlinson@alliedtelesis.co.nz>
Link: https://lore.kernel.org/r/20241124221430.1106080-1-mark.tomlinson@alliedtelesis.co.nz
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/usb/host/max3421-hcd.c