libata: improve probe failure handling
authorTejun Heo <htejun@gmail.com>
Fri, 2 Feb 2007 07:22:30 +0000 (16:22 +0900)
committerJeff Garzik <jeff@garzik.org>
Wed, 21 Feb 2007 09:58:16 +0000 (04:58 -0500)
commit4ae72a1e469a3bcfd3c1f77dac62392c489bf9ca
tree8408499b85ddbe70077671117aa30da274f03363
parent458337dbb120d33f326e2b19d54eca8cf179b5c0
libata: improve probe failure handling

* Move forcing device to PIO0 on device disable into
  ata_dev_disable().  This makes both old and new EHs act the same
  way.

* Speed down only PIO mode on probe failure.  All commands used during
  probing are PIO commands.  There's no point in speeding down DMA.

* Retry at least once after -ENODEV.  Some devices report garbled
  IDENTIFY data after certain events.  This shouldn't cause device
  detach and re-attach.

* Rearrange EH failure path for simplicity.

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