mac80211_hwsim: Use proper TX power
In struct ieee80211_tx_info, control.vif pointer and rate_driver_data[0] falls on the same place, depending on the union usage. During the whole TX process, the union is referred to as a control struct, which holds the vif that is later used in the tx flow, especially in order to derive the used tx power. Referring direcly to rate_driver_data[0] and assigning a value to it, overwrites the vif pointer, hence making all later references irrelevant. Moreover, rate_driver_data[0] isn't used later in the flow in order to retrieve the channel that it is pointing to. Cc: stable@vger.kernel.org Signed-off-by: Beni Lev <beni.lev@intel.com> Signed-off-by: Luca Coelho <luciano.coelho@intel.com> Signed-off-by: Johannes Berg <johannes.berg@intel.com>
This commit is contained in:
parent
89e9bfc4ee
commit
9de981f507
|
@ -1362,8 +1362,6 @@ static void mac80211_hwsim_tx(struct ieee80211_hw *hw,
|
||||||
txi->control.rates,
|
txi->control.rates,
|
||||||
ARRAY_SIZE(txi->control.rates));
|
ARRAY_SIZE(txi->control.rates));
|
||||||
|
|
||||||
txi->rate_driver_data[0] = channel;
|
|
||||||
|
|
||||||
if (skb->len >= 24 + 8 &&
|
if (skb->len >= 24 + 8 &&
|
||||||
ieee80211_is_probe_resp(hdr->frame_control)) {
|
ieee80211_is_probe_resp(hdr->frame_control)) {
|
||||||
/* fake header transmission time */
|
/* fake header transmission time */
|
||||||
|
|
Loading…
Reference in New Issue