[PATCH] bcm43xx: sync with svn.berlios.de

Signed-off-by: Michael Buesch <mbuesch@freenet.de>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
diff --git a/drivers/net/wireless/bcm43xx/bcm43xx_main.c b/drivers/net/wireless/bcm43xx/bcm43xx_main.c
index be60a65..4b4e60a 100644
--- a/drivers/net/wireless/bcm43xx/bcm43xx_main.c
+++ b/drivers/net/wireless/bcm43xx/bcm43xx_main.c
@@ -4097,7 +4097,6 @@
 	}
 
 	frame_ctl = le16_to_cpu(wlhdr->frame_ctl);
-	
 	if ((frame_ctl & IEEE80211_FCTL_PROTECTED) && !bcm->ieee->host_decrypt) {
 		frame_ctl &= ~IEEE80211_FCTL_PROTECTED;
 		wlhdr->frame_ctl = cpu_to_le16(frame_ctl);		
@@ -4113,12 +4112,12 @@
 			skb_trim(skb, skb->len - 4);
 			stats.len -= 8;
 		}
-		/* do _not_ use wlhdr again without reassigning it */
+		wlhdr = (struct ieee80211_hdr_4addr *)(skb->data);
 	}
 	
 	switch (WLAN_FC_GET_TYPE(frame_ctl)) {
 	case IEEE80211_FTYPE_MGMT:
-		ieee80211_rx_mgt(bcm->ieee, skb->data, &stats);
+		ieee80211_rx_mgt(bcm->ieee, wlhdr, &stats);
 		break;
 	case IEEE80211_FTYPE_DATA:
 		if (is_packet_for_us)
@@ -4143,7 +4142,7 @@
 	if (bcm->pio_mode)
 		err = bcm43xx_pio_transfer_txb(bcm, txb);
 	else
-		err = bcm43xx_dma_transfer_txb(bcm, txb);
+		err = bcm43xx_dma_tx(bcm, txb);
 
 	return err;
 }