]> git.baikalelectronics.ru Git - kernel.git/commit
libata: don't set IORDY for reset
authorTejun Heo <tj@kernel.org>
Thu, 11 Jun 2009 02:04:45 +0000 (11:04 +0900)
committerJeff Garzik <jgarzik@redhat.com>
Tue, 23 Jun 2009 05:54:30 +0000 (01:54 -0400)
commit266cee81726b53995e4618eb6f5994b52f9fd2d7
tree9af1e5a8712fe02216ea52ef740f86ead5085acd
parenta70ffc3c50e70ab6a04c23fb8eda8448c5f9962b
libata: don't set IORDY for reset

Before issuing reset, libata configures xfermode to PIO0 which makes
some drivers turn on IORDY which may cause the controller to lock up
if the port is not occupied.  IORDY isn't necessary at this point
anyway.  Make ata_pio_need_iordy() return zero if it's being called
for reset.

This fixes bko#11703.  Reported and tracked down by Daniel Gnoutcheff
and Constantine Gavrilov.

Signed-off-by: Tejun Heo <tj@kernel.org>
Reported-by: Daniel Gnoutcheff <gnoutchd@union.edu>
Cc: Constantine Gavrilov <constantine.gavrilov@gmail.com>
Cc: Alan Cox <alan@lxorguk.ukuu.org.uk>
Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
drivers/ata/libata-core.c