> -----Original Message----- > From: Valo, Kalle > Sent: Thursday, October 22, 2015 10:25 PM > To: Li, Yanbo > Cc: dreamfly281@xxxxxxxxx; ath10k@xxxxxxxxxxxxxxxxxxx; linux- > wireless@xxxxxxxxxxxxxxx > Subject: Re: [PATCH] ath10k: Adjust the RX packet pad offset at QCA99X0 > 4addr mode > > Yanbo Li <yanbol@xxxxxxxxxxxxxxxx> writes: > > > The QCA99X0 4 addresses RX packets pad 2 bytes at the beginning of > > MSDU instead the end of ieee80211 header to keep align. The currently > > RX data path can't parse the header correctly in this case. This patch > > fixes it for QCA99X0 > > > > Signed-off-by: Yanbo Li <yanbol@xxxxxxxxxxxxxxxx> > > > > diff --git a/drivers/net/wireless/ath/ath10k/core.c > > b/drivers/net/wireless/ath/ath10k/core.c > > index 13de3617d5ab..3c1d07c191d5 100644 > > --- a/drivers/net/wireless/ath/ath10k/core.c > > +++ b/drivers/net/wireless/ath/ath10k/core.c > > @@ -58,6 +58,7 @@ static const struct ath10k_hw_params > ath10k_hw_params_list[] = { > > .otp_exe_param = 0, > > .channel_counters_freq_hz = 88000, > > .max_probe_resp_desc_thres = 0, > > + .loc_4addr_pad = ATH10K_4ADDR_PAD_AFT, > > .fw = { > > .dir = QCA988X_HW_2_0_FW_DIR, > > .fw = QCA988X_HW_2_0_FW_FILE, > > @@ -75,6 +76,7 @@ static const struct ath10k_hw_params > ath10k_hw_params_list[] = { > > .otp_exe_param = 0, > > .channel_counters_freq_hz = 88000, > > .max_probe_resp_desc_thres = 0, > > + .loc_4addr_pad = ATH10K_4ADDR_PAD_AFT, > > .fw = { > > .dir = QCA6174_HW_2_1_FW_DIR, > > .fw = QCA6174_HW_2_1_FW_FILE, > > @@ -92,6 +94,7 @@ static const struct ath10k_hw_params > ath10k_hw_params_list[] = { > > .otp_exe_param = 0, > > .channel_counters_freq_hz = 88000, > > .max_probe_resp_desc_thres = 0, > > + .loc_4addr_pad = ATH10K_4ADDR_PAD_AFT, > > .fw = { > > .dir = QCA6174_HW_3_0_FW_DIR, > > .fw = QCA6174_HW_3_0_FW_FILE, > > @@ -109,6 +112,7 @@ static const struct ath10k_hw_params > ath10k_hw_params_list[] = { > > .otp_exe_param = 0, > > .channel_counters_freq_hz = 88000, > > .max_probe_resp_desc_thres = 0, > > + .loc_4addr_pad = ATH10K_4ADDR_PAD_AFT, > > .fw = { > > /* uses same binaries as hw3.0 */ > > .dir = QCA6174_HW_3_0_FW_DIR, > > @@ -128,6 +132,7 @@ static const struct ath10k_hw_params > ath10k_hw_params_list[] = { > > .continuous_frag_desc = true, > > .channel_counters_freq_hz = 150000, > > .max_probe_resp_desc_thres = 24, > > + .loc_4addr_pad = ATH10K_4ADDR_PAD_PRE, > > .fw = { > > .dir = QCA99X0_HW_2_0_FW_DIR, > > .fw = QCA99X0_HW_2_0_FW_FILE, > > diff --git a/drivers/net/wireless/ath/ath10k/core.h > > b/drivers/net/wireless/ath/ath10k/core.h > > index 7cc7cdd56c95..b4db8bbf85ce 100644 > > --- a/drivers/net/wireless/ath/ath10k/core.h > > +++ b/drivers/net/wireless/ath/ath10k/core.h > > @@ -646,6 +646,9 @@ struct ath10k { > > */ > > u32 max_probe_resp_desc_thres; > > > > + /* The padding bytes's location is different on various chips */ > > + enum ath10k_loc_4addr_pad loc_4addr_pad; > > I think that loc prefix is a bit misleading, it reminds me of > locationing/positioning etc. What about ath10k_hw_4addr_pad? > There is already a FW feature defined as "ATH10K_FW_FEATURE_NO_NWIFI_DECAP_4ADDR_PADDIND" and the relative string is "no-4addr-pad", if we just remove the "loc" prefix, it may be confuse with this FW feature. How about we change the loc to offset in this case or any better suggestion? Thanks BR /Yanbo -- To unsubscribe from this list: send the line "unsubscribe linux-wireless" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html