diff options
author | Tejun Heo <htejun@gmail.com> | 2008-04-02 04:35:19 -0400 |
---|---|---|
committer | Jeff Garzik <jeff@garzik.org> | 2008-04-04 02:43:36 -0400 |
commit | e52dcc4899cf1b7601379c31542bd91cd2997a64 (patch) | |
tree | 40bce50f8f912bbd2d988526f3f5c5763f67af62 /drivers | |
parent | 436d34b36202ef724778ded1e9cb10f8c37b32bc (diff) |
libata: ATA_12/16 doesn't fall into ATAPI_MISC
SAT passthrus don't really fit into ATAPI_MISC class. SAT passthru
commands always transfer multiple of 512 bytes and variable length
response is not allowed. This patch creates a separate category -
ATAPI_PASS_THRU - for these.
This fixes HSM violation on "hdparm -I".
Signed-off-by: Tejun Heo <htejun@gmail.com>
Signed-off-by: Jeff Garzik <jeff@garzik.org>
Diffstat (limited to 'drivers')
-rw-r--r-- | drivers/ata/libata-core.c | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/drivers/ata/libata-core.c b/drivers/ata/libata-core.c index e9b69ba489d2..be95fdb69726 100644 --- a/drivers/ata/libata-core.c +++ b/drivers/ata/libata-core.c | |||
@@ -353,6 +353,11 @@ int atapi_cmd_type(u8 opcode) | |||
353 | case GPCMD_READ_CD_MSF: | 353 | case GPCMD_READ_CD_MSF: |
354 | return ATAPI_READ_CD; | 354 | return ATAPI_READ_CD; |
355 | 355 | ||
356 | case ATA_16: | ||
357 | case ATA_12: | ||
358 | if (atapi_passthru16) | ||
359 | return ATAPI_PASS_THRU; | ||
360 | /* fall thru */ | ||
356 | default: | 361 | default: |
357 | return ATAPI_MISC; | 362 | return ATAPI_MISC; |
358 | } | 363 | } |