From: "Pali Rohár" <pali.rohar@gmail.com>
To: Guenter Roeck <linux@roeck-us.net>
Cc: Arnd Bergmann <arnd@arndb.de>,
"Greg Kroah-Hartman" <gregkh@linuxfoundation.org>,
Jean Delvare <jdelvare@suse.de>,
Gabriele Mazzotta <gabriele.mzt@gmail.com>,
Steven Honeyman <stevenhoneyman@gmail.com>,
Jochen Eisinger <jochen@penguin-breeder.org>,
linux-kernel@vger.kernel.org
Subject: Re: [PATCH 2/3] i8k: Autodetect maximal fan speed and fan RPM multiplier
Date: Thu, 18 Dec 2014 12:13:35 +0100 [thread overview]
Message-ID: <201412181213.36143@pali> (raw)
In-Reply-To: <548853CB.7000704@roeck-us.net>
[-- Attachment #1: Type: Text/Plain, Size: 3280 bytes --]
On Wednesday 10 December 2014 15:08:11 Guenter Roeck wrote:
> On 12/10/2014 03:50 AM, Pali Rohár wrote:
> > On Tuesday 09 December 2014 23:42:08 Guenter Roeck wrote:
> >> On Tue, Dec 09, 2014 at 09:23:22PM +0100, Pali Rohár wrote:
> >>> On Tuesday 09 December 2014 21:20:23 Guenter Roeck wrote:
> >>>> On Tue, Dec 09, 2014 at 09:07:00PM +0100, Pali Rohár
wrote:
> >>>>> This patch adds new function i8k_get_fan_nominal_rpm()
> >>>>> for doing SMM call which will return nominal fan RPM
> >>>>> for specified fan speed. It returns nominal RPM value
> >>>>> at which fan operate when speed is set. It looks like
> >>>>> RPM value is not accurate, but still provides very
> >>>>> useful information.
> >>>>>
> >>>>> First it can be used to validate if certain fan speed
> >>>>> could be accepted by SMM for setting fan speed and we
> >>>>> can use this routine to detect maximal fan speed.
> >>>>>
> >>>>> Second it returns RPM value, so we can check if value
> >>>>> looks correct with multiplier 30 or multiplier 1 (until
> >>>>> now only these two multiplier was used). If RPM value
> >>>>> with multiplier 30 is too high, then multiplier 1 is
> >>>>> used.
> >>>>>
> >>>>> In case when SMM reports that new function is not
> >>>>> supported we will fallback to old hardcoded values.
> >>>>> Maximal fan speed would be 2 and RPM multiplier 30.
> >>>>>
> >>>>> Signed-off-by: Pali Rohár <pali.rohar@gmail.com>
> >>>>> ---
> >>>>> I tested this patch only on my Dell Latitude E6440 and
> >>>>> autodetection worked fine Before appying this patch it
> >>>>> should be tested on some other dell machines too but if
> >>>>> machine does not support i8k_get_fan_nominal_rpm()
> >>>>> driver should fallback to old values. So patch should
> >>>>> be without regressions.
> >>>>
> >>>> It looks like many of your error checks are unnecessary.
> >>>> Why did you add those ?
> >>>>
> >>>> Please refrain from adding unnecessary code.
> >>>>
> >>>> Guenter
> >>>
> >>> Which error checks do you mean?
> >>
> >> There are several you added. I noticed the ones around
> >> 'index', which would only be hit on coding errors. At that
> >> point I stopped looking further and did not verify which of
> >> the other added error checks are unnecessary as well.
> >>
> >> A quick additional check reveals that the fan variable
> >> range check in i8k_get_fan_nominal_rpm is completely
> >> unnecessary - if the range was wrong, the calling code
> >> would fail as well, since you unconditionally write into
> >> an array indexed by the very same variable. Given the
> >> simplicity of the calling code, it can even be
> >> mathematically proven that the error condition you are
> >> checking can never happen.
> >>
> >> With that I really stopped looking further.
> >>
> >> Guenter
> >
> > Should I remove those access out-of-array checks?
>
> If you want me to look into it further. In general, I don't
> accept code like this, since it increases kernel size for no
> good reason. It also makes it more difficult to find _real_
> problems in the code since it distracts from seeing those.
>
> Guenter
Ok, I will rework this patch and drop that first cosmetic.
--
Pali Rohár
pali.rohar@gmail.com
[-- Attachment #2: This is a digitally signed message part. --]
[-- Type: application/pgp-signature, Size: 198 bytes --]
next prev parent reply other threads:[~2014-12-18 11:13 UTC|newest]
Thread overview: 73+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-12-09 20:06 [PATCH 0/3] i8k: Rework fan_mult and fan_max code Pali Rohár
2014-12-09 20:06 ` [PATCH 1/3] i8k: cosmetic: distinguish between fan speed and fan rpm Pali Rohár
2014-12-09 20:23 ` Guenter Roeck
2014-12-09 20:39 ` Pali Rohár
2014-12-09 22:49 ` Guenter Roeck
2014-12-09 20:07 ` [PATCH 2/3] i8k: Autodetect maximal fan speed and fan RPM multiplier Pali Rohár
2014-12-09 20:20 ` Guenter Roeck
2014-12-09 20:23 ` Pali Rohár
2014-12-09 22:42 ` Guenter Roeck
2014-12-10 11:50 ` Pali Rohár
2014-12-10 14:08 ` Guenter Roeck
2014-12-18 11:13 ` Pali Rohár [this message]
2014-12-19 18:33 ` Guenter Roeck
2014-12-09 20:07 ` [PATCH 3/3] i8k: Remove laptop specific config data (fan_mult, fan_max) from driver Pali Rohár
2014-12-10 11:51 ` Pali Rohár
2014-12-10 13:32 ` Gabriele Mazzotta
2014-12-18 11:08 ` Pali Rohár
2014-12-18 15:08 ` Valdis.Kletnieks
2014-12-18 16:34 ` Pali Rohár
2014-12-18 16:44 ` Valdis.Kletnieks
2014-12-25 21:54 ` Gabriele Mazzotta
2014-12-27 14:13 ` Gabriele Mazzotta
2014-12-28 8:22 ` Pali Rohár
2014-12-28 8:28 ` Guenter Roeck
2014-12-28 8:46 ` Pali Rohár
2014-12-28 15:25 ` Gabriele Mazzotta
2014-12-28 15:48 ` Pali Rohár
2014-12-28 16:02 ` Gabriele Mazzotta
2014-12-28 16:07 ` Pali Rohár
2014-12-28 16:17 ` Gabriele Mazzotta
2014-12-29 12:22 ` Pali Rohár
2014-12-29 12:50 ` Gabriele Mazzotta
2014-12-30 7:35 ` Guenter Roeck
2014-12-17 17:54 ` Pali Rohár
2014-12-17 18:20 ` Steven Honeyman
2014-12-18 9:02 ` Valdis.Kletnieks
2014-12-18 11:11 ` Pali Rohár
2014-12-10 13:41 ` Gabriele Mazzotta
2014-12-19 18:04 ` [PATCH v2 1/2] i8k: Autodetect maximal fan speed and fan RPM multiplier Pali Rohár
2014-12-19 18:32 ` Guenter Roeck
2014-12-19 18:51 ` Pali Rohár
2014-12-19 19:28 ` Guenter Roeck
2014-12-20 8:57 ` Pali Rohár
2014-12-20 12:04 ` Guenter Roeck
2014-12-20 12:18 ` Pali Rohár
2014-12-20 12:44 ` Guenter Roeck
2014-12-20 12:54 ` Pali Rohár
2014-12-20 17:20 ` Guenter Roeck
2014-12-20 17:27 ` Steven Honeyman
2014-12-20 18:07 ` Guenter Roeck
2014-12-21 9:06 ` Pali Rohár
2014-12-20 18:38 ` Guenter Roeck
2014-12-21 9:13 ` Pali Rohár
2014-12-21 11:47 ` Guenter Roeck
2014-12-20 19:02 ` Guenter Roeck
2014-12-21 9:15 ` Pali Rohár
2014-12-21 9:20 ` [PATCH v3] " Pali Rohár
2014-12-21 11:57 ` Guenter Roeck
2014-12-21 12:09 ` Pali Rohár
2014-12-21 12:23 ` Guenter Roeck
2014-12-21 16:37 ` Pali Rohár
2014-12-21 16:55 ` Steven Honeyman
2014-12-21 17:25 ` Pali Rohár
2014-12-21 17:23 ` [PATCH v4] " Pali Rohár
2014-12-21 18:27 ` Guenter Roeck
2014-12-21 18:40 ` Pali Rohár
2014-12-21 18:51 ` Guenter Roeck
2014-12-21 19:56 ` Pali Rohár
2014-12-21 19:51 ` Guenter Roeck
2014-12-22 15:07 ` Pali Rohár
2014-12-23 13:52 ` Guenter Roeck
2014-12-23 19:11 ` Pali Rohár
2014-12-19 18:04 ` [PATCH v2 2/2] i8k: Remove DMI config data for Latitude E6x40 Pali Rohár
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=201412181213.36143@pali \
--to=pali.rohar@gmail.com \
--cc=arnd@arndb.de \
--cc=gabriele.mzt@gmail.com \
--cc=gregkh@linuxfoundation.org \
--cc=jdelvare@suse.de \
--cc=jochen@penguin-breeder.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux@roeck-us.net \
--cc=stevenhoneyman@gmail.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox