HI Jeff, I was thinking the checking "READ/WRITE" command table is larger than my current table. This does not cover vendor-specific command. Do you wan me just check READ/WRITE command? The aic94xx default implementation is all ATA command will be returning ATA output register if the command did not succeed. Thanks! Gilbert -----Original Message----- From: Jeff Garzik [mailto:jeff@xxxxxxxxxx] Sent: Thursday, September 06, 2007 3:06 AM To: Wu, Gilbert Cc: Linux-scsi@xxxxxxxxxxxxxxx Subject: Re: [PATCH] aic94xx: fix smartctl utility problem On Wed, Sep 05, 2007 at 03:25:55PM -0700, Gilbert Wu wrote: > Fixed the problem that "smartctl -a /dev/some_sata_disk -d ata" does not work on SATA device. > ( The smartctl v5.38 does need "-d ata" option.) > The root cause is the aic94xx driver does not return ATA output register due to performance reason. > The aic94xx need check ATA command which need ATA output register and turn on internal flag to > enable firmware to return ATA output register to top layer. > It also add new ATA commands to ata.h sush as ATA_CMD_CHK_MEDIA_TYPE and ATA_CMD_SMART. > > Signed-off-by: Gilbert Wu <gilbert_wu@xxxxxxxxxxx> All commands except for hot path READ/WRITE should be returning ATA output registers. Additionally, READ/WRITE should be returning ATA output registers, if the READ/WRITE command did not succeed. Any code that requires an "accepted list of commands" is problematic, because it does not take into account vendor-specific commands. Jeff - To unsubscribe from this list: send the line "unsubscribe linux-scsi" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html