libata: fix ata_scmd_need_defer()
authorTejun Heo <htejun@gmail.com>
Tue, 20 Feb 2007 14:27:06 +0000 (23:27 +0900)
committerJeff Garzik <jeff@garzik.org>
Wed, 21 Feb 2007 09:58:18 +0000 (04:58 -0500)
commitfcf1bf1584647f9fd864c193fee81840c4c5ce41
tree6271f12b805d57edcb4ba908149c02e754c348e0
parent6d1245bf294e9ea65b3717be9fa0338bfb6ff6c9
libata: fix ata_scmd_need_defer()

Fix ata_scmd_need_defer() such that...

* whether NCQ is used or not is exactly determined using the same
  criteria as the issue path.

* defer-check is performed in all cases.

This fixes race condition where turning off NCQ on the fly causes
non-NCQ commands sneak into NCQ phase.

Signed-off-by: Tejun Heo <htejun@gmail.com>
Signed-off-by: Jeff Garzik <jeff@garzik.org>
drivers/ata/libata-scsi.c