iwlwifi: mvm: fix pointer reference when setting HE QAM thres
authorLiad Kaufman <liad.kaufman@intel.com>
Wed, 20 Feb 2019 03:05:00 +0000 (05:05 +0200)
committerLuca Coelho <luciano.coelho@intel.com>
Wed, 3 Apr 2019 08:20:01 +0000 (11:20 +0300)
Pointer referencing when setting HE QAM thresholds (when nominal
packet padding bit is on) caused kernel crash due to bad
referencing. Fix that.

Signed-off-by: Liad Kaufman <liad.kaufman@intel.com>
Signed-off-by: Luca Coelho <luciano.coelho@intel.com>
drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c

index 1cad9238e45a63dda6e44f534925b0630ae4faeb..ed866deddb5f2aea9b5fa8cdafdf194a0e89e45c 100644 (file)
@@ -2339,16 +2339,18 @@ static void iwl_mvm_cfg_he_sta(struct iwl_mvm *mvm,
 
                /* Set the PPE thresholds accordingly */
                if (low_th >= 0 && high_th >= 0) {
-                       u8 ***pkt_ext_qam =
-                               (void *)sta_ctxt_cmd.pkt_ext.pkt_ext_qam_th;
+                       struct iwl_he_pkt_ext *pkt_ext =
+                               (struct iwl_he_pkt_ext *)&sta_ctxt_cmd.pkt_ext;
 
                        for (i = 0; i < MAX_HE_SUPP_NSS; i++) {
                                u8 bw;
 
                                for (bw = 0; bw < MAX_HE_CHANNEL_BW_INDX;
                                     bw++) {
-                                       pkt_ext_qam[i][bw][0] = low_th;
-                                       pkt_ext_qam[i][bw][1] = high_th;
+                                       pkt_ext->pkt_ext_qam_th[i][bw][0] =
+                                               low_th;
+                                       pkt_ext->pkt_ext_qam_th[i][bw][1] =
+                                               high_th;
                                }
                        }