Message ID | 20240605183710.66016-1-trintaeoitogc@gmail.com (mailing list archive) |
---|---|
State | Changes Requested |
Delegated to: | Johannes Berg |
Headers | show |
Series | [RESEND,v2] iwlwifi: mvm: adding check if the thermal firmware is running | expand |
On Wed, 2024-06-05 at 15:37 -0300, 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> and > Kalle Valo <kvalo@kernel.org> for your suggestions in my first patch. > > Signed-off-by: Guilherme Giacomo Simoes <trintaeoitogc@gmail.com> > --- > 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); const is useless, but you should not have variable declarations in the middle of the function (per kernel convention) johannes
Johannes Berg <johannes@sipsolutions.net> write: > > On Wed, 2024-06-05 at 15:37 -0300, 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> and > > Kalle Valo <kvalo@kernel.org> for your suggestions in my first patch. > > > > Signed-off-by: Guilherme Giacomo Simoes <trintaeoitogc@gmail.com> > > --- > > 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); > > const is useless, but you should not have variable declarations in the > middle of the function (per kernel convention) > > johannes > I really appreciate your suggestions. I sended a new v3 patch without the "const" keyword.
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; }
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> and Kalle Valo <kvalo@kernel.org> for your suggestions in my first patch. Signed-off-by: Guilherme Giacomo Simoes <trintaeoitogc@gmail.com> --- drivers/net/wireless/intel/iwlwifi/mvm/tt.c | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-)