summaryrefslogtreecommitdiffstats
path: root/sys/dev
diff options
context:
space:
mode:
authorsos <sos@FreeBSD.org>2003-09-19 12:46:12 +0000
committersos <sos@FreeBSD.org>2003-09-19 12:46:12 +0000
commit6605c73f36aa7f471f0f348c683689ecc3c8eec2 (patch)
tree292a8ddd1010d6274045bc9e64934d826f20de8c /sys/dev
parentb9a4363200f14bcfc8acb1c47415febf1b8a8833 (diff)
downloadFreeBSD-src-6605c73f36aa7f471f0f348c683689ecc3c8eec2.zip
FreeBSD-src-6605c73f36aa7f471f0f348c683689ecc3c8eec2.tar.gz
Always check the sensekey field on ATAPI returns
Add INQUIRY to cmd2str.
Diffstat (limited to 'sys/dev')
-rw-r--r--sys/dev/ata/ata-queue.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/sys/dev/ata/ata-queue.c b/sys/dev/ata/ata-queue.c
index c282e4c..dac66cb 100644
--- a/sys/dev/ata/ata-queue.c
+++ b/sys/dev/ata/ata-queue.c
@@ -264,7 +264,7 @@ ata_completed(void *context, int pending)
if (request->result)
break;
- if (request->error & ATA_E_MASK) {
+ if (request->error) {
switch ((request->error & ATA_SK_MASK)) {
case ATA_SK_RECOVERED_ERROR:
ata_prtdev(request->device, "WARNING - %s recovered error\n",
@@ -297,6 +297,8 @@ ata_completed(void *context, int pending)
"\2NO_MEDIA\1ILLEGAL_LENGTH");
request->result = EIO;
}
+ if (request->error & ATA_E_MASK)
+ request->result = EIO;
}
break;
}
@@ -369,6 +371,7 @@ ata_cmd2str(struct ata_request *request)
case 0x0a: return ("WRITE");
case 0x10: return ("WEOF");
case 0x11: return ("SPACE");
+ case 0x12: return ("INQUIRY");
case 0x15: return ("MODE_SELECT");
case 0x19: return ("ERASE");
case 0x1a: return ("MODE_SENSE");
OpenPOWER on IntegriCloud