summaryrefslogtreecommitdiff
path: root/sys/dev/usb/storage
diff options
context:
space:
mode:
authorAlexander Kabaev <kan@FreeBSD.org>2013-01-19 03:19:39 +0000
committerAlexander Kabaev <kan@FreeBSD.org>2013-01-19 03:19:39 +0000
commite15f85e71cb951ce5af148b9cd1fd155fcf3cbf5 (patch)
treee970e050939adc2f9dabd22c7a4a9404d735d015 /sys/dev/usb/storage
parent850e744187a6784353d7628d2d5a119dcb834f75 (diff)
Notes
Diffstat (limited to 'sys/dev/usb/storage')
-rw-r--r--sys/dev/usb/storage/umass.c10
1 files changed, 7 insertions, 3 deletions
diff --git a/sys/dev/usb/storage/umass.c b/sys/dev/usb/storage/umass.c
index 078594045fdc..a7feea741057 100644
--- a/sys/dev/usb/storage/umass.c
+++ b/sys/dev/usb/storage/umass.c
@@ -2602,9 +2602,13 @@ umass_cam_sense_cb(struct umass_softc *sc, union ccb *ccb, uint32_t residue,
}
} else {
xpt_freeze_devq(ccb->ccb_h.path, 1);
- ccb->ccb_h.status = CAM_SCSI_STATUS_ERROR
- | CAM_AUTOSNS_VALID | CAM_DEV_QFRZN;
- ccb->csio.scsi_status = SCSI_STATUS_CHECK_COND;
+ if (key >= 0) {
+ ccb->ccb_h.status = CAM_SCSI_STATUS_ERROR
+ | CAM_AUTOSNS_VALID | CAM_DEV_QFRZN;
+ ccb->csio.scsi_status = SCSI_STATUS_CHECK_COND;
+ } else
+ ccb->ccb_h.status = CAM_AUTOSENSE_FAIL
+ | CAM_DEV_QFRZN;
}
xpt_done(ccb);
break;