Date: Thu, 04 Nov 2010 19:49:24 +0200 From: Alexander Motin <mav@FreeBSD.org> To: Bruce Cran <brucec@FreeBSD.org> Cc: svn-src-head@freebsd.org, svn-src-all@freebsd.org, src-committers@freebsd.org Subject: Re: svn commit: r214781 - head/sbin/camcontrol Message-ID: <4CD2F224.1040008@FreeBSD.org> In-Reply-To: <201011041524.oA4FOWd7063812@svn.freebsd.org> References: <201011041524.oA4FOWd7063812@svn.freebsd.org>
next in thread | previous in thread | raw e-mail | index | archive | help
Bruce Cran wrote: > 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)) There should be "<=". > + /* 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; This will round period down. You will get 30 minutes instead of 59. In this case rounding up IMHO more appropriate. I agree that previous rounding up was over aggressive. I would prefer something like: sc = (t - 1) / (30 * 60) + 241; or at least sc = (t + 15 * 60) / (30 * 60) + 240; This will also make previous range unneeded. Range "t <= (240 * 5)" probably also should be corrected to round up or at least closest. -- Alexander Motin
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?4CD2F224.1040008>