diff options
author | sos <sos@FreeBSD.org> | 2006-03-18 13:14:38 +0000 |
---|---|---|
committer | sos <sos@FreeBSD.org> | 2006-03-18 13:14:38 +0000 |
commit | c1d9ed7049125364750fc3a12bb09eafd99b5cfb (patch) | |
tree | 96198a97f46dc625015b5b6ae97709cfc2af585d /sys/dev/ata | |
parent | 17d5388342a96d4b552a77d3ad40c9951448bd62 (diff) | |
download | FreeBSD-src-c1d9ed7049125364750fc3a12bb09eafd99b5cfb.zip FreeBSD-src-c1d9ed7049125364750fc3a12bb09eafd99b5cfb.tar.gz |
Properly use the sense key info
Diffstat (limited to 'sys/dev/ata')
-rw-r--r-- | sys/dev/ata/ata-usb.c | 6 | ||||
-rw-r--r-- | sys/dev/ata/atapi-fd.c | 2 |
2 files changed, 5 insertions, 3 deletions
diff --git a/sys/dev/ata/ata-usb.c b/sys/dev/ata/ata-usb.c index f995b7c..9f181ef 100644 --- a/sys/dev/ata/ata-usb.c +++ b/sys/dev/ata/ata-usb.c @@ -802,7 +802,8 @@ ata_usbchannel_end_transaction(struct ata_request *request) /* XXX SOS convert the request from the format used, only BBB for now*/ /* ATA/ATAPI IDENTIFY needs special treatment */ - if (request->u.atapi.ccb[0] == ATAPI_INQUIRY) { + if ((request->flags & ATA_R_ATAPI) && + (request->u.atapi.ccb[0] == ATAPI_INQUIRY)) { struct ata_device *atadev = device_get_softc(request->dev); struct atapi_inquiry *inquiry = (struct atapi_inquiry *)request->data; u_int16_t *ptr; @@ -823,7 +824,8 @@ ata_usbchannel_end_transaction(struct ata_request *request) *ptr = ntohs(*ptr); request->result = 0; } - if (request->u.atapi.ccb[0] == ATAPI_REQUEST_SENSE) + if ((request->flags & ATA_R_ATAPI) && + (request->u.atapi.ccb[0] == ATAPI_REQUEST_SENSE)) request->u.atapi.sense_key = request->u.atapi.sense_data.sense_key << 4; return ATA_OP_FINISHED; } diff --git a/sys/dev/ata/atapi-fd.c b/sys/dev/ata/atapi-fd.c index 78887c6..11b20e6 100644 --- a/sys/dev/ata/atapi-fd.c +++ b/sys/dev/ata/atapi-fd.c @@ -317,7 +317,7 @@ afd_sense(device_t dev) while ((error = afd_test_ready(dev)) && timeout--) { DELAY(100000); } - if (error == ENODEV) + if (error == EBUSY) return 1; /* The IOMEGA Clik! doesn't support reading the cap page, fake it */ |