iwlwifi: fw: init SAR GEO table only if data is present
authorJohannes Berg <johannes.berg@intel.com>
Tue, 17 May 2022 09:05:08 +0000 (12:05 +0300)
committerJohannes Berg <johannes.berg@intel.com>
Wed, 18 May 2022 10:53:53 +0000 (12:53 +0200)
When no table data was read from ACPI, then filling the data
and returning success here will fill zero values, which means
transmit power will be limited to 0 dBm. This is clearly not
intended.

Return an error from iwl_sar_geo_init() if there's no data to
fill into the command structure.

Cc: stable@vger.kernel.org
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Fixes: 78a19d5285d9 ("iwlwifi: mvm: Read the PPAG and SAR tables at INIT stage")
Signed-off-by: Gregory Greenman <gregory.greenman@intel.com>
Link: https://lore.kernel.org/r/20220517120044.bc45923b74e9.Id2b4362234b7f8ced82c591b95d4075dd2ec12f4@changeid
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
drivers/net/wireless/intel/iwlwifi/fw/acpi.c

index 33aae63..e6d6415 100644 (file)
@@ -937,6 +937,9 @@ int iwl_sar_geo_init(struct iwl_fw_runtime *fwrt,
 {
        int i, j;
 
+       if (!fwrt->geo_enabled)
+               return -ENODATA;
+
        if (!iwl_sar_geo_support(fwrt))
                return -EOPNOTSUPP;