Thread (1 message) 1 message, 1 author, 2016-07-14

Re: [PATCH RESEND] iwlwifi, Do not implement thermal zone unless ucode is loaded

From: Kalle Valo <hidden>
Date: 2016-07-14 07:13:21
Also in: lkml, netdev

Prarit Bhargava [off-list ref] writes:
On 07/13/2016 02:50 AM, Kalle Valo wrote:
quoted
Prarit Bhargava [off-list ref] writes:
quoted
quoted
We implement thermal zone because we do support it, but the problem is
that we need the firmware to be loaded for that. So you can argue that
we should register *later* when the firmware is loaded. But this is
really not helping all that much because the firmware can also be
stopped at any time. So you'd want us to register / unregister the
thermal zone anytime the firmware is loaded / unloaded?
You might have to do that.  I think that if the firmware enables a feature then
the act of loading the firmware should run the code that enables the feature.
IMO of course.
But I suspect that the iwlwifi firmware is loaded during interface up
(and unloaded during interface down) and in that case
register/unregister would be happening all the time. 
You make it sound like the interface is coming and going a 1000 times a second.
 Maybe this happens once during runtime & during suspend/resume
 cycles?
Of course it doesn't happen 1000 times a second but it depends on user
space behaviour. In some cases, when the wlan interface is always up,
the firmware is loaded only once. But in some cases the user space might
change the interface state more frequently.

More so registering services like thermal zone should happen during
driver probe time, not during interface up event.
What about the cases when the firmware isn't present (and that's what
lead me to this bug)?
In that case the kernel could return a predefined error value like
-EGAIN or -ENOTDOWN so that the user space knows that a value is not
available at this time (but might be available later).

-- 
Kalle Valo
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help