aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/wireless/bcm43xx/bcm43xx_main.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/net/wireless/bcm43xx/bcm43xx_main.c')
-rw-r--r--drivers/net/wireless/bcm43xx/bcm43xx_main.c7
1 files changed, 3 insertions, 4 deletions
diff --git a/drivers/net/wireless/bcm43xx/bcm43xx_main.c b/drivers/net/wireless/bcm43xx/bcm43xx_main.c
index be60a6509f20..4b4e60a22c0b 100644
--- a/drivers/net/wireless/bcm43xx/bcm43xx_main.c
+++ b/drivers/net/wireless/bcm43xx/bcm43xx_main.c
@@ -4097,7 +4097,6 @@ int fastcall bcm43xx_rx(struct bcm43xx_private *bcm,
4097 } 4097 }
4098 4098
4099 frame_ctl = le16_to_cpu(wlhdr->frame_ctl); 4099 frame_ctl = le16_to_cpu(wlhdr->frame_ctl);
4100
4101 if ((frame_ctl & IEEE80211_FCTL_PROTECTED) && !bcm->ieee->host_decrypt) { 4100 if ((frame_ctl & IEEE80211_FCTL_PROTECTED) && !bcm->ieee->host_decrypt) {
4102 frame_ctl &= ~IEEE80211_FCTL_PROTECTED; 4101 frame_ctl &= ~IEEE80211_FCTL_PROTECTED;
4103 wlhdr->frame_ctl = cpu_to_le16(frame_ctl); 4102 wlhdr->frame_ctl = cpu_to_le16(frame_ctl);
@@ -4113,12 +4112,12 @@ int fastcall bcm43xx_rx(struct bcm43xx_private *bcm,
4113 skb_trim(skb, skb->len - 4); 4112 skb_trim(skb, skb->len - 4);
4114 stats.len -= 8; 4113 stats.len -= 8;
4115 } 4114 }
4116 /* do _not_ use wlhdr again without reassigning it */ 4115 wlhdr = (struct ieee80211_hdr_4addr *)(skb->data);
4117 } 4116 }
4118 4117
4119 switch (WLAN_FC_GET_TYPE(frame_ctl)) { 4118 switch (WLAN_FC_GET_TYPE(frame_ctl)) {
4120 case IEEE80211_FTYPE_MGMT: 4119 case IEEE80211_FTYPE_MGMT:
4121 ieee80211_rx_mgt(bcm->ieee, skb->data, &stats); 4120 ieee80211_rx_mgt(bcm->ieee, wlhdr, &stats);
4122 break; 4121 break;
4123 case IEEE80211_FTYPE_DATA: 4122 case IEEE80211_FTYPE_DATA:
4124 if (is_packet_for_us) 4123 if (is_packet_for_us)
@@ -4143,7 +4142,7 @@ static inline int bcm43xx_tx(struct bcm43xx_private *bcm,
4143 if (bcm->pio_mode) 4142 if (bcm->pio_mode)
4144 err = bcm43xx_pio_transfer_txb(bcm, txb); 4143 err = bcm43xx_pio_transfer_txb(bcm, txb);
4145 else 4144 else
4146 err = bcm43xx_dma_transfer_txb(bcm, txb); 4145 err = bcm43xx_dma_tx(bcm, txb);
4147 4146
4148 return err; 4147 return err;
4149} 4148}