aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorStuart Hayes <stuart_hayes@dell.com>2009-03-04 14:59:46 -0500
committerJeff Garzik <jgarzik@redhat.com>2009-03-05 07:24:42 -0500
commite7d3ef13d52a126438f687a1a32da65ff926ed57 (patch)
treeb4eb90e422f33fe6bb8756fcaadbd19863eae649
parent559595a985e106d2fa9f0c79b7f5805453fed593 (diff)
libata: change drive ready wait after hard reset to 5s
This fixes problems during resume with drives that take longer than 1s to be ready. The ATA-6 spec appears to allow 5 seconds for a drive to be ready. On one affected system, this patch changes "PM: resume devices took..." message from 17 seconds to 4 seconds, and gets rid of a lot of ugly timeout/error messages. Without this patch, the libata code moves on after 1s, tries to send a soft reset (which the drive doesn't see because it isn't ready) which also times out, then an IDENTIFY command is sent to the drive which times out, and finally the error handler will try to send another hard reset which will finally get things working. Signed-off-by: Stuart Hayes <stuart_hayes@dell.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
-rw-r--r--include/linux/libata.h2
1 files changed, 1 insertions, 1 deletions
diff --git a/include/linux/libata.h b/include/linux/libata.h
index 5d87bc09a1f5..dd818c7decd7 100644
--- a/include/linux/libata.h
+++ b/include/linux/libata.h
@@ -275,7 +275,7 @@ enum {
275 * advised to wait only for the following duration before 275 * advised to wait only for the following duration before
276 * doing SRST. 276 * doing SRST.
277 */ 277 */
278 ATA_TMOUT_PMP_SRST_WAIT = 1000, 278 ATA_TMOUT_PMP_SRST_WAIT = 5000,
279 279
280 /* ATA bus states */ 280 /* ATA bus states */
281 BUS_UNKNOWN = 0, 281 BUS_UNKNOWN = 0,