diff options
author | Johannes Berg <johannes.berg@intel.com> | 2017-10-06 11:46:32 +0200 |
---|---|---|
committer | Johannes Berg <johannes.berg@intel.com> | 2017-10-06 11:46:55 +0200 |
commit | 753d179ad001b25425beb977d00f2531540e7d42 (patch) | |
tree | de61b9e3c86b71e9a654cea002b188f90b1f8ef6 /drivers/usb/storage/transport.c | |
parent | cfg80211/nl80211: add a port authorized event (diff) | |
parent | net/ipv6: remove unused err variable on icmpv6_push_pending_frames (diff) | |
download | linux-753d179ad001b25425beb977d00f2531540e7d42.tar.xz linux-753d179ad001b25425beb977d00f2531540e7d42.zip |
Merge remote-tracking branch 'net-next/master' into mac80211-next
Merging this brings in the timer_setup() change, which allows
me to apply Kees's mac80211 changes for it.
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Diffstat (limited to 'drivers/usb/storage/transport.c')
-rw-r--r-- | drivers/usb/storage/transport.c | 14 |
1 files changed, 13 insertions, 1 deletions
diff --git a/drivers/usb/storage/transport.c b/drivers/usb/storage/transport.c index 1a59f335b063..a3ccb899df60 100644 --- a/drivers/usb/storage/transport.c +++ b/drivers/usb/storage/transport.c @@ -834,13 +834,25 @@ Retry_Sense: if (result == USB_STOR_TRANSPORT_GOOD) { srb->result = SAM_STAT_GOOD; srb->sense_buffer[0] = 0x0; + } + + /* + * ATA-passthru commands use sense data to report + * the command completion status, and often devices + * return Check Condition status when nothing is + * wrong. + */ + else if (srb->cmnd[0] == ATA_16 || + srb->cmnd[0] == ATA_12) { + /* leave the data alone */ + } /* * If there was a problem, report an unspecified * hardware error to prevent the higher layers from * entering an infinite retry loop. */ - } else { + else { srb->result = DID_ERROR << 16; if ((sshdr.response_code & 0x72) == 0x72) srb->sense_buffer[1] = HARDWARE_ERROR; |