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