aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/ata/libata-eh.c
diff options
context:
space:
mode:
authorTejun Heo <tj@kernel.org>2008-08-13 20:19:09 +0900
committerJeff Garzik <jgarzik@redhat.com>2008-08-22 02:07:43 -0400
commit05944bdf6fadb5394710269df6770dde447b23ca (patch)
tree7dd0435f44518b01e5d3a229167e7122425e2255 /drivers/ata/libata-eh.c
parentLinux v2.6.27-rc4 (diff)
downloadlinux-dev-05944bdf6fadb5394710269df6770dde447b23ca.tar.xz
linux-dev-05944bdf6fadb5394710269df6770dde447b23ca.zip
libata: implement no[hs]rst force params
Implement force params nohrst, nosrst and norst. This is to work around reset related problems and ease debugging. Signed-off-by: Tejun Heo <tj@kernel.org> Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
Diffstat (limited to 'drivers/ata/libata-eh.c')
-rw-r--r--drivers/ata/libata-eh.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/drivers/ata/libata-eh.c b/drivers/ata/libata-eh.c
index 58bdc538d229..a570ca47e239 100644
--- a/drivers/ata/libata-eh.c
+++ b/drivers/ata/libata-eh.c
@@ -2210,6 +2210,10 @@ int ata_eh_reset(struct ata_link *link, int classify,
*/
while (ata_eh_reset_timeouts[max_tries] != ULONG_MAX)
max_tries++;
+ if (link->flags & ATA_LFLAG_NO_HRST)
+ hardreset = NULL;
+ if (link->flags & ATA_LFLAG_NO_SRST)
+ softreset = NULL;
now = jiffies;
deadline = ata_deadline(ehc->last_reset, ATA_EH_RESET_COOL_DOWN);