drivers/net/wireless/intel/iwlwifi/mvm/tt.c | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-)
In the dmesg is showing the message "failed to read out thermal zone"
as if the temperature read is failed by don't find the thermal zone.
After researching and debugging, I see that this specific error is
occurrenced because the thermal try read the temperature when is started,
but the firmware is not running yet.
For more legibiliti i change the tt.c for return EAGAIN when this was occurrence.
After this change, in my computer I compile and install kernel in /boot
and in my dmesg the message "failed to read out thermal zone" is not show
any more.
I would like to thanks for Rafael Wysocki <refael.j.wysocki@intel.com> for
your suggestions in mu first patch that results in this another patch.
---
drivers/net/wireless/intel/iwlwifi/mvm/tt.c | 10 ++++++++--
1 file changed, 8 insertions(+), 2 deletions(-)
diff --git a/drivers/net/wireless/intel/iwlwifi/mvm/tt.c b/drivers/net/wireless/intel/iwlwifi/mvm/tt.c
index 8083c4b2ab6b..68ab9966330c 100644
--- a/drivers/net/wireless/intel/iwlwifi/mvm/tt.c
+++ b/drivers/net/wireless/intel/iwlwifi/mvm/tt.c
@@ -620,8 +620,14 @@ static int iwl_mvm_tzone_get_temp(struct thermal_zone_device *device,
mutex_lock(&mvm->mutex);
- if (!iwl_mvm_firmware_running(mvm) ||
- mvm->fwrt.cur_fw_img != IWL_UCODE_REGULAR) {
+ const int res = iwl_mvm_firmware_running(mvm);
+
+ if (!res) {
+ ret = -EAGAIN;
+ goto out;
+ }
+
+ if (mvm->fwrt.cur_fw_img != IWL_UCODE_REGULAR) {
ret = -ENODATA;
goto out;
}
--
2.45.1
On 5/17/24 10:16, Guilherme Giacomo Simoes wrote:
> In the dmesg is showing the message "failed to read out thermal zone"
> as if the temperature read is failed by don't find the thermal zone.
>
> After researching and debugging, I see that this specific error is
> occurrenced because the thermal try read the temperature when is started,
> but the firmware is not running yet.
>
> For more legibiliti i change the tt.c for return EAGAIN when this was occurrence.
> After this change, in my computer I compile and install kernel in /boot
> and in my dmesg the message "failed to read out thermal zone" is not show
> any more.
>
> I would like to thanks for Rafael Wysocki <refael.j.wysocki@intel.com> for
> your suggestions in mu first patch that results in this another patch.
> ---
> drivers/net/wireless/intel/iwlwifi/mvm/tt.c | 10 ++++++++--
> 1 file changed, 8 insertions(+), 2 deletions(-)
>
> diff --git a/drivers/net/wireless/intel/iwlwifi/mvm/tt.c b/drivers/net/wireless/intel/iwlwifi/mvm/tt.c
> index 8083c4b2ab6b..68ab9966330c 100644
> --- a/drivers/net/wireless/intel/iwlwifi/mvm/tt.c
> +++ b/drivers/net/wireless/intel/iwlwifi/mvm/tt.c
> @@ -620,8 +620,14 @@ static int iwl_mvm_tzone_get_temp(struct thermal_zone_device *device,
>
> mutex_lock(&mvm->mutex);
>
> - if (!iwl_mvm_firmware_running(mvm) ||
> - mvm->fwrt.cur_fw_img != IWL_UCODE_REGULAR) {
> + const int res = iwl_mvm_firmware_running(mvm);
> +
> + if (!res) {
> + ret = -EAGAIN;
> + goto out;
> + }
> +
You could skip using the res variable and move the mutex lock here and
simplify the above a bit. Ex:
int temp;
- mutex_lock(&mvm->mutex);
+ if (!iwl_mvm_firmware_running(mvm))
+ return -EAGAIN;
- if (!iwl_mvm_firmware_running(mvm) ||
- mvm->fwrt.cur_fw_img != IWL_UCODE_REGULAR) {
+ mutex_lock(&mvm->mutex);
+ if (mvm->fwrt.cur_fw_img != IWL_UCODE_REGULAR) {
ret = -ENODATA;
goto out;
}
> + if (mvm->fwrt.cur_fw_img != IWL_UCODE_REGULAR) {
> ret = -ENODATA;
> goto out;
> }
Em sex., 17 de mai. de 2024 às 13:57, Jonathan Bither
<jonbither@gmail.com> escreveu:
>
>
> On 5/17/24 10:16, Guilherme Giacomo Simoes wrote:
> > In the dmesg is showing the message "failed to read out thermal zone"
> > as if the temperature read is failed by don't find the thermal zone.
> >
> > After researching and debugging, I see that this specific error is
> > occurrenced because the thermal try read the temperature when is started,
> > but the firmware is not running yet.
> >
> > For more legibiliti i change the tt.c for return EAGAIN when this was occurrence.
> > After this change, in my computer I compile and install kernel in /boot
> > and in my dmesg the message "failed to read out thermal zone" is not show
> > any more.
> >
> > I would like to thanks for Rafael Wysocki <refael.j.wysocki@intel.com> for
> > your suggestions in mu first patch that results in this another patch.
> > ---
> > drivers/net/wireless/intel/iwlwifi/mvm/tt.c | 10 ++++++++--
> > 1 file changed, 8 insertions(+), 2 deletions(-)
> >
> > diff --git a/drivers/net/wireless/intel/iwlwifi/mvm/tt.c b/drivers/net/wireless/intel/iwlwifi/mvm/tt.c
> > index 8083c4b2ab6b..68ab9966330c 100644
> > --- a/drivers/net/wireless/intel/iwlwifi/mvm/tt.c
> > +++ b/drivers/net/wireless/intel/iwlwifi/mvm/tt.c
> > @@ -620,8 +620,14 @@ static int iwl_mvm_tzone_get_temp(struct thermal_zone_device *device,
> >
> > mutex_lock(&mvm->mutex);
> >
> > - if (!iwl_mvm_firmware_running(mvm) ||
> > - mvm->fwrt.cur_fw_img != IWL_UCODE_REGULAR) {
> > + const int res = iwl_mvm_firmware_running(mvm);
> > +
> > + if (!res) {
> > + ret = -EAGAIN;
> > + goto out;
> > + }
> > +
>
> You could skip using the res variable and move the mutex lock here and
> simplify the above a bit. Ex:
>
> int temp;
>
> - mutex_lock(&mvm->mutex);
> + if (!iwl_mvm_firmware_running(mvm))
> + return -EAGAIN;
>
> - if (!iwl_mvm_firmware_running(mvm) ||
> - mvm->fwrt.cur_fw_img != IWL_UCODE_REGULAR) {
> + mutex_lock(&mvm->mutex);
> + if (mvm->fwrt.cur_fw_img != IWL_UCODE_REGULAR) {
> ret = -ENODATA;
> goto out;
> }
>
> > + if (mvm->fwrt.cur_fw_img != IWL_UCODE_REGULAR) {
> > ret = -ENODATA;
> > goto out;
> > }
Hey Jonathan, Thank you for your suggestion.
I sended a v2 patch of this patch
https://patchwork.kernel.org/project/linux-wireless/patch/20240517171311.3705-1-trintaeoitogc@gmail.com/
If you want, you can send this suggestion in this patch v2.
Thanks.
On 5/17/24 13:25, Guilherme Giácomo Simões wrote:
> Em sex., 17 de mai. de 2024 às 13:57, Jonathan Bither
> <jonbither@gmail.com> escreveu:
>>
>> On 5/17/24 10:16, Guilherme Giacomo Simoes wrote:
>>> In the dmesg is showing the message "failed to read out thermal zone"
>>> as if the temperature read is failed by don't find the thermal zone.
>>>
>>> After researching and debugging, I see that this specific error is
>>> occurrenced because the thermal try read the temperature when is started,
>>> but the firmware is not running yet.
>>>
>>> For more legibiliti i change the tt.c for return EAGAIN when this was occurrence.
>>> After this change, in my computer I compile and install kernel in /boot
>>> and in my dmesg the message "failed to read out thermal zone" is not show
>>> any more.
>>>
>>> I would like to thanks for Rafael Wysocki <refael.j.wysocki@intel.com> for
>>> your suggestions in mu first patch that results in this another patch.
>>> ---
>>> drivers/net/wireless/intel/iwlwifi/mvm/tt.c | 10 ++++++++--
>>> 1 file changed, 8 insertions(+), 2 deletions(-)
>>>
>>> diff --git a/drivers/net/wireless/intel/iwlwifi/mvm/tt.c b/drivers/net/wireless/intel/iwlwifi/mvm/tt.c
>>> index 8083c4b2ab6b..68ab9966330c 100644
>>> --- a/drivers/net/wireless/intel/iwlwifi/mvm/tt.c
>>> +++ b/drivers/net/wireless/intel/iwlwifi/mvm/tt.c
>>> @@ -620,8 +620,14 @@ static int iwl_mvm_tzone_get_temp(struct thermal_zone_device *device,
>>>
>>> mutex_lock(&mvm->mutex);
>>>
>>> - if (!iwl_mvm_firmware_running(mvm) ||
>>> - mvm->fwrt.cur_fw_img != IWL_UCODE_REGULAR) {
>>> + const int res = iwl_mvm_firmware_running(mvm);
>>> +
>>> + if (!res) {
>>> + ret = -EAGAIN;
>>> + goto out;
>>> + }
>>> +
>> You could skip using the res variable and move the mutex lock here and
>> simplify the above a bit. Ex:
>>
>> int temp;
>>
>> - mutex_lock(&mvm->mutex);
>> + if (!iwl_mvm_firmware_running(mvm))
>> + return -EAGAIN;
>>
>> - if (!iwl_mvm_firmware_running(mvm) ||
>> - mvm->fwrt.cur_fw_img != IWL_UCODE_REGULAR) {
>> + mutex_lock(&mvm->mutex);
>> + if (mvm->fwrt.cur_fw_img != IWL_UCODE_REGULAR) {
>> ret = -ENODATA;
>> goto out;
>> }
>>
>>> + if (mvm->fwrt.cur_fw_img != IWL_UCODE_REGULAR) {
>>> ret = -ENODATA;
>>> goto out;
>>> }
> Hey Jonathan, Thank you for your suggestion.
> I sended a v2 patch of this patch
> https://patchwork.kernel.org/project/linux-wireless/patch/20240517171311.3705-1-trintaeoitogc@gmail.com/
>
> If you want, you can send this suggestion in this patch v2.
Hey Guilherme, no worries.
>
> Thanks.
Guilherme Giacomo Simoes <trintaeoitogc@gmail.com> writes: > In the dmesg is showing the message "failed to read out thermal zone" > as if the temperature read is failed by don't find the thermal zone. > > After researching and debugging, I see that this specific error is > occurrenced because the thermal try read the temperature when is started, > but the firmware is not running yet. > > For more legibiliti i change the tt.c for return EAGAIN when this was occurrence. > After this change, in my computer I compile and install kernel in /boot > and in my dmesg the message "failed to read out thermal zone" is not show > any more. > > I would like to thanks for Rafael Wysocki <refael.j.wysocki@intel.com> for > your suggestions in mu first patch that results in this another patch. > --- > drivers/net/wireless/intel/iwlwifi/mvm/tt.c | 10 ++++++++-- > 1 file changed, 8 insertions(+), 2 deletions(-) Please read the wiki link below how to submit wireless patches. For example, the title is wrong and you haven't signed the patch. -- https://patchwork.kernel.org/project/linux-wireless/list/ https://wireless.wiki.kernel.org/en/developers/documentation/submittingpatches
Kalle Valo <kvalo@kernel.org> writes: > > Guilherme Giacomo Simoes <trintaeoitogc@gmail.com> writes: > > > In the dmesg is showing the message "failed to read out thermal zone" > > as if the temperature read is failed by don't find the thermal zone. > > > > After researching and debugging, I see that this specific error is > > occurrenced because the thermal try read the temperature when is started, > > but the firmware is not running yet. > > > > For more legibiliti i change the tt.c for return EAGAIN when this was occurrence. > > After this change, in my computer I compile and install kernel in /boot > > and in my dmesg the message "failed to read out thermal zone" is not show > > any more. > > > > I would like to thanks for Rafael Wysocki <refael.j.wysocki@intel.com> for > > your suggestions in mu first patch that results in this another patch. > > --- > > drivers/net/wireless/intel/iwlwifi/mvm/tt.c | 10 ++++++++-- > > 1 file changed, 8 insertions(+), 2 deletions(-) > > Please read the wiki link below how to submit wireless patches. For > example, the title is wrong and you haven't signed the patch. > > -- > https://patchwork.kernel.org/project/linux-wireless/list/ > > https://wireless.wiki.kernel.org/en/developers/documentation/submittingpatches Thank you for your explanation Mr. Valo. I will fix the patch and resend.
Kalle Valo <kvalo@kernel.org> writes: >> In the dmesg is showing the message "failed to read out thermal zone" >> as if the temperature read is failed by don't find the thermal zone. >> >> After researching and debugging, I see that this specific error is >> occurrenced because the thermal try read the temperature when is started, >> but the firmware is not running yet. >> >> For more legibiliti i change the tt.c for return EAGAIN when this was occurrence. >> After this change, in my computer I compile and install kernel in /boot >> and in my dmesg the message "failed to read out thermal zone" is not show >> any more. >> >> I would like to thanks for Rafael Wysocki <refael.j.wysocki@intel.com> for >> your suggestions in mu first patch that results in this another patch. >> --- >> drivers/net/wireless/intel/iwlwifi/mvm/tt.c | 10 ++++++++-- >> 1 file changed, 8 insertions(+), 2 deletions(-) > >Please read the wiki link below how to submit wireless patches. For >example, the title is wrong and you haven't signed the patch. Okay, thank you for your explanation Mr. Valo I will fix the patch and resend this. Em sex., 17 de mai. de 2024 às 11:53, Kalle Valo <kvalo@kernel.org> escreveu: > > Guilherme Giacomo Simoes <trintaeoitogc@gmail.com> writes: > > > In the dmesg is showing the message "failed to read out thermal zone" > > as if the temperature read is failed by don't find the thermal zone. > > > > After researching and debugging, I see that this specific error is > > occurrenced because the thermal try read the temperature when is started, > > but the firmware is not running yet. > > > > For more legibiliti i change the tt.c for return EAGAIN when this was occurrence. > > After this change, in my computer I compile and install kernel in /boot > > and in my dmesg the message "failed to read out thermal zone" is not show > > any more. > > > > I would like to thanks for Rafael Wysocki <refael.j.wysocki@intel.com> for > > your suggestions in mu first patch that results in this another patch. > > --- > > drivers/net/wireless/intel/iwlwifi/mvm/tt.c | 10 ++++++++-- > > 1 file changed, 8 insertions(+), 2 deletions(-) > > Please read the wiki link below how to submit wireless patches. For > example, the title is wrong and you haven't signed the patch. > > -- > https://patchwork.kernel.org/project/linux-wireless/list/ > > https://wireless.wiki.kernel.org/en/developers/documentation/submittingpatches
© 2016 - 2026 Red Hat, Inc.