Module Name:    src
Committed By:   jakllsch
Date:           Sun Jul 22 18:37:31 UTC 2012

Modified Files:
        src/sys/dev/ata: wd.c

Log Message:
ATA-6 and ACS-2 drafts both say the flush cache commands may take longer than
30 seconds to complete.  For now assume 5 minutes will always be enough.


To generate a diff of this commit:
cvs rdiff -u -r1.395 -r1.396 src/sys/dev/ata/wd.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/sys/dev/ata/wd.c
diff -u src/sys/dev/ata/wd.c:1.395 src/sys/dev/ata/wd.c:1.396
--- src/sys/dev/ata/wd.c:1.395	Sun Jul 15 10:55:29 2012
+++ src/sys/dev/ata/wd.c	Sun Jul 22 18:37:31 2012
@@ -1,4 +1,4 @@
-/*	$NetBSD: wd.c,v 1.395 2012/07/15 10:55:29 dsl Exp $ */
+/*	$NetBSD: wd.c,v 1.396 2012/07/22 18:37:31 jakllsch Exp $ */
 
 /*
  * Copyright (c) 1998, 2001 Manuel Bouyer.  All rights reserved.
@@ -54,7 +54,7 @@
  */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: wd.c,v 1.395 2012/07/15 10:55:29 dsl Exp $");
+__KERNEL_RCSID(0, "$NetBSD: wd.c,v 1.396 2012/07/22 18:37:31 jakllsch Exp $");
 
 #include "opt_ata.h"
 
@@ -1913,7 +1913,7 @@ wd_flushcache(struct wd_softc *wd, int f
 	ata_c.r_st_bmask = WDCS_DRDY;
 	ata_c.r_st_pmask = WDCS_DRDY;
 	ata_c.flags = flags;
-	ata_c.timeout = 30000; /* 30s timeout */
+	ata_c.timeout = 300000; /* 5m timeout */
 	if (wd->atabus->ata_exec_command(wd->drvp, &ata_c) != ATACMD_COMPLETE) {
 		aprint_error_dev(wd->sc_dev,
 		    "flush cache command didn't complete\n");

Reply via email to