From: Guenter Roeck <linux@roeck-us.net>
To: "Pali Rohár" <pali.rohar@gmail.com>
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: Wed, 10 Dec 2014 06:08:11 -0800 [thread overview]
Message-ID: <548853CB.7000704@roeck-us.net> (raw)
In-Reply-To: <201412101250.13891@pali>
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
next prev parent reply other threads:[~2014-12-10 14:08 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 [this message]
2014-12-18 11:13 ` Pali Rohár
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=548853CB.7000704@roeck-us.net \
--to=linux@roeck-us.net \
--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=pali.rohar@gmail.com \
--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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.