svn commit: r214781 - head/sbin/camcontrol

Bruce Cran brucec at FreeBSD.org
Thu Nov 4 15:24:32 UTC 2010


Author: brucec
Date: Thu Nov  4 15:24:32 2010
New Revision: 214781
URL: http://svn.freebsd.org/changeset/base/214781

Log:
  Fix standby timer calculation: the timer was being set 30 minutes later
  than the user requested.
  Also, 21 minutes is encoded as 252 and 22-29 minutes cannot be encoded
  so must be rounded up to 30.
  
  PR:	bin/151871

Modified:
  head/sbin/camcontrol/camcontrol.c

Modified: head/sbin/camcontrol/camcontrol.c
==============================================================================
--- head/sbin/camcontrol/camcontrol.c	Thu Nov  4 12:33:07 2010	(r214780)
+++ head/sbin/camcontrol/camcontrol.c	Thu Nov  4 15:24:32 2010	(r214781)
@@ -4316,10 +4316,17 @@ atapm(struct cam_device *device, int arg
 		sc = 0;
 	else if (t <= (240 * 5))
 		sc = t / 5;
+	else if (t == (252 * 5))
+		/* special encoding for 21 minutes */
+		sc = 252;
+	else if (t < (30 * 60))
+		/* no encoding exists for 22-29 minutes, so set to 30 mins */
+		sc = 241;
 	else if (t <= (11 * 30 * 60))
-		sc = t / (30 * 60) + 241;
+		sc = t / (30 * 60) + 240;
 	else
 		sc = 253;
+
 	cam_fill_ataio(&ccb->ataio,
 		      retry_count,
 		      NULL,


More information about the svn-src-all mailing list