• M
    iwlwifi: fix wrong WGDS_WIFI_DATA_SIZE · 29d920ba
    Matt Chen 提交于
    commit 66e839030fd698586734e017fd55c4f2a89dba0b upstream.
    
    From coreboot/BIOS:
    Name ("WGDS", Package() {
     Revision,
     Package() {
         DomainType,                         // 0x7:WiFi ==> We miss this one.
         WgdsWiFiSarDeltaGroup1PowerMax1,    // Group 1 FCC 2400 Max
         WgdsWiFiSarDeltaGroup1PowerChainA1, // Group 1 FCC 2400 A Offset
         WgdsWiFiSarDeltaGroup1PowerChainB1, // Group 1 FCC 2400 B Offset
         WgdsWiFiSarDeltaGroup1PowerMax2,    // Group 1 FCC 5200 Max
         WgdsWiFiSarDeltaGroup1PowerChainA2, // Group 1 FCC 5200 A Offset
         WgdsWiFiSarDeltaGroup1PowerChainB2, // Group 1 FCC 5200 B Offset
         WgdsWiFiSarDeltaGroup2PowerMax1,    // Group 2 EC Jap 2400 Max
         WgdsWiFiSarDeltaGroup2PowerChainA1, // Group 2 EC Jap 2400 A Offset
         WgdsWiFiSarDeltaGroup2PowerChainB1, // Group 2 EC Jap 2400 B Offset
         WgdsWiFiSarDeltaGroup2PowerMax2,    // Group 2 EC Jap 5200 Max
         WgdsWiFiSarDeltaGroup2PowerChainA2, // Group 2 EC Jap 5200 A Offset
         WgdsWiFiSarDeltaGroup2PowerChainB2, // Group 2 EC Jap 5200 B Offset
         WgdsWiFiSarDeltaGroup3PowerMax1,    // Group 3 ROW 2400 Max
         WgdsWiFiSarDeltaGroup3PowerChainA1, // Group 3 ROW 2400 A Offset
         WgdsWiFiSarDeltaGroup3PowerChainB1, // Group 3 ROW 2400 B Offset
         WgdsWiFiSarDeltaGroup3PowerMax2,    // Group 3 ROW 5200 Max
         WgdsWiFiSarDeltaGroup3PowerChainA2, // Group 3 ROW 5200 A Offset
         WgdsWiFiSarDeltaGroup3PowerChainB2, // Group 3 ROW 5200 B Offset
     }
    })
    
    When read the ACPI data to find out the WGDS, the DATA_SIZE is never
    matched.
    From the above format, it gives 19 numbers, but our driver is hardcode
    as 18.
    Fix it to pass then can parse the data into our wgds table.
    Then we will see:
    iwlwifi 0000:01:00.0: U iwl_mvm_sar_geo_init Sending GEO_TX_POWER_LIMIT
    iwlwifi 0000:01:00.0: U iwl_mvm_sar_geo_init SAR geographic profile[0]
    Band[0]: chain A = 68 chain B = 69 max_tx_power = 54
    iwlwifi 0000:01:00.0: U iwl_mvm_sar_geo_init SAR geographic profile[0]
    Band[1]: chain A = 48 chain B = 49 max_tx_power = 70
    iwlwifi 0000:01:00.0: U iwl_mvm_sar_geo_init SAR geographic profile[1]
    Band[0]: chain A = 51 chain B = 67 max_tx_power = 50
    iwlwifi 0000:01:00.0: U iwl_mvm_sar_geo_init SAR geographic profile[1]
    Band[1]: chain A = 69 chain B = 70 max_tx_power = 68
    iwlwifi 0000:01:00.0: U iwl_mvm_sar_geo_init SAR geographic profile[2]
    Band[0]: chain A = 49 chain B = 50 max_tx_power = 48
    iwlwifi 0000:01:00.0: U iwl_mvm_sar_geo_init SAR geographic profile[2]
    Band[1]: chain A = 52 chain B = 53 max_tx_power = 51
    
    Cc: stable@vger.kernel.org # 4.12+
    Fixes: a6bff3cb ("iwlwifi: mvm: add GEO_TX_POWER_LIMIT cmd for geographic tx power table")
    Signed-off-by: NMatt Chen <matt.chen@intel.com>
    Signed-off-by: NLuca Coelho <luciano.coelho@intel.com>
    Signed-off-by: NGreg Kroah-Hartman <gregkh@linuxfoundation.org>
    29d920ba
acpi.h 4.7 KB