mac80211: Don't encrypt beacons
authorIvo van Doorn <ivdoorn@gmail.com>
Mon, 5 May 2008 18:40:35 +0000 (20:40 +0200)
committerJohn W. Linville <linville@tuxdriver.com>
Tue, 13 May 2008 01:22:18 +0000 (21:22 -0400)
mac80211 should set the IEEE80211_TX_CTL_DO_NOT_ENCRYPT flag in tx_control
structure to inform drivers not to encrypt the beacon. Drivers that only check
for that flag before accessing the hw_key field, will otherwise cause a NULL
pointer dereference since that field is not configured for beacons.

Signed-off-by: Ivo van Doorn <IvDoorn@gmail.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
net/mac80211/tx.c

index f35eaea98e7316bcac44b45adb0d210ca3ad551e..28d8bd53bd3a9f3ccf01e56c5df5bcffd87d1908 100644 (file)
@@ -1898,6 +1898,7 @@ struct sk_buff *ieee80211_beacon_get(struct ieee80211_hw *hw,
                        control->flags |= IEEE80211_TXCTL_SHORT_PREAMBLE;
                control->antenna_sel_tx = local->hw.conf.antenna_sel_tx;
                control->flags |= IEEE80211_TXCTL_NO_ACK;
+               control->flags |= IEEE80211_TXCTL_DO_NOT_ENCRYPT;
                control->retry_limit = 1;
                control->flags |= IEEE80211_TXCTL_CLEAR_PS_FILT;
        }