USB: UAS: fix disconnect by unplugging a hub
authorOliver Neukum <oneukum@suse.com>
Wed, 16 Sep 2020 09:40:25 +0000 (11:40 +0200)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Wed, 16 Sep 2020 10:35:14 +0000 (12:35 +0200)
commit325b008723b2dd31de020e85ab9d2e9aa4637d35
tree47041fbc37c33fbd5aac826c575f321e4c0a8385
parent386e15a650447f53de3d2d8819ce9393f31650a4
USB: UAS: fix disconnect by unplugging a hub

The SCSI layer can go into an ugly loop if you ignore that a device is
gone. You need to report an error in the command rather than in the
return value of the queue method.

We need to specifically check for ENODEV. The issue goes back to the
introduction of the driver.

Fixes: 115bb1ffa54c3 ("USB: Add UAS driver")
Signed-off-by: Oliver Neukum <oneukum@suse.com>
Cc: stable <stable@vger.kernel.org>
Link: https://lore.kernel.org/r/20200916094026.30085-2-oneukum@suse.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/usb/storage/uas.c