[PATCH] hostap: Replace WLAN_FC_ defines with ieee80211 ones

Replace remaining WLAN_FC_* defines with the ones used in ieee80211
header file. This completes the move from hostap version of frame
control field processing to ieee80211 version.

Signed-off-by: Jouni Malinen <jkmaline@cc.hut.fi>
Signed-off-by: Jeff Garzik <jgarzik@pobox.com>
diff --git a/drivers/net/wireless/hostap/hostap.c b/drivers/net/wireless/hostap/hostap.c
index 9ce18b6..e7f5821 100644
--- a/drivers/net/wireless/hostap/hostap.c
+++ b/drivers/net/wireless/hostap/hostap.c
@@ -597,8 +597,8 @@
 	       fc, WLAN_FC_GET_TYPE(fc) >> 2, WLAN_FC_GET_STYPE(fc) >> 4,
 	       __le16_to_cpu(rx->duration_id), __le16_to_cpu(rx->seq_ctrl),
 	       __le16_to_cpu(rx->data_len),
-	       fc & WLAN_FC_TODS ? " [ToDS]" : "",
-	       fc & WLAN_FC_FROMDS ? " [FromDS]" : "");
+	       fc & IEEE80211_FCTL_TODS ? " [ToDS]" : "",
+	       fc & IEEE80211_FCTL_FROMDS ? " [FromDS]" : "");
 
 	printk(KERN_DEBUG "   A1=" MACSTR " A2=" MACSTR " A3=" MACSTR " A4="
 	       MACSTR "\n",
@@ -626,8 +626,8 @@
 	       fc, WLAN_FC_GET_TYPE(fc) >> 2, WLAN_FC_GET_STYPE(fc) >> 4,
 	       __le16_to_cpu(tx->duration_id), __le16_to_cpu(tx->seq_ctrl),
 	       __le16_to_cpu(tx->data_len),
-	       fc & WLAN_FC_TODS ? " [ToDS]" : "",
-	       fc & WLAN_FC_FROMDS ? " [FromDS]" : "");
+	       fc & IEEE80211_FCTL_TODS ? " [ToDS]" : "",
+	       fc & IEEE80211_FCTL_FROMDS ? " [FromDS]" : "");
 
 	printk(KERN_DEBUG "   A1=" MACSTR " A2=" MACSTR " A3=" MACSTR " A4="
 	       MACSTR "\n",
@@ -668,7 +668,7 @@
 
 	switch (WLAN_FC_GET_TYPE(fc)) {
 	case IEEE80211_FTYPE_DATA:
-		if ((fc & WLAN_FC_FROMDS) && (fc & WLAN_FC_TODS))
+		if ((fc & IEEE80211_FCTL_FROMDS) && (fc & IEEE80211_FCTL_TODS))
 			hdrlen = 30; /* Addr4 */
 		break;
 	case IEEE80211_FTYPE_CTL:
diff --git a/drivers/net/wireless/hostap/hostap_80211_rx.c b/drivers/net/wireless/hostap/hostap_80211_rx.c
index 3752a67..051a590 100644
--- a/drivers/net/wireless/hostap/hostap_80211_rx.c
+++ b/drivers/net/wireless/hostap/hostap_80211_rx.c
@@ -22,8 +22,8 @@
 	fc = le16_to_cpu(hdr->frame_ctl);
 	printk(KERN_DEBUG "   FC=0x%04x (type=%d:%d)%s%s",
 	       fc, WLAN_FC_GET_TYPE(fc) >> 2, WLAN_FC_GET_STYPE(fc) >> 4,
-	       fc & WLAN_FC_TODS ? " [ToDS]" : "",
-	       fc & WLAN_FC_FROMDS ? " [FromDS]" : "");
+	       fc & IEEE80211_FCTL_TODS ? " [ToDS]" : "",
+	       fc & IEEE80211_FCTL_FROMDS ? " [FromDS]" : "");
 
 	if (skb->len < IEEE80211_DATA_HDR3_LEN) {
 		printk("\n");
@@ -73,9 +73,9 @@
 	hdr = (struct ieee80211_hdr *) skb->data;
 	fc = le16_to_cpu(hdr->frame_ctl);
 
-	if (type == PRISM2_RX_MGMT && (fc & WLAN_FC_PVER)) {
+	if (type == PRISM2_RX_MGMT && (fc & IEEE80211_FCTL_VERS)) {
 		printk(KERN_DEBUG "%s: dropped management frame with header "
-		       "version %d\n", dev->name, fc & WLAN_FC_PVER);
+		       "version %d\n", dev->name, fc & IEEE80211_FCTL_VERS);
 		dev_kfree_skb_any(skb);
 		return 0;
 	}
@@ -525,9 +525,9 @@
 {
 	/* FIX: is this really supposed to accept WDS frames only in Master
 	 * mode? What about Repeater or Managed with WDS frames? */
-	if ((fc & (WLAN_FC_TODS | WLAN_FC_FROMDS)) !=
-	    (WLAN_FC_TODS | WLAN_FC_FROMDS) &&
-	    (local->iw_mode != IW_MODE_MASTER || !(fc & WLAN_FC_TODS)))
+	if ((fc & (IEEE80211_FCTL_TODS | IEEE80211_FCTL_FROMDS)) !=
+	    (IEEE80211_FCTL_TODS | IEEE80211_FCTL_FROMDS) &&
+	    (local->iw_mode != IW_MODE_MASTER || !(fc & IEEE80211_FCTL_TODS)))
 		return 0; /* not a WDS frame */
 
 	/* Possible WDS frame: either IEEE 802.11 compliant (if FromDS)
@@ -539,14 +539,15 @@
 		/* RA (or BSSID) is not ours - drop */
 		PDEBUG(DEBUG_EXTRA, "%s: received WDS frame with "
 		       "not own or broadcast %s=" MACSTR "\n",
-		       local->dev->name, fc & WLAN_FC_FROMDS ? "RA" : "BSSID",
+		       local->dev->name,
+		       fc & IEEE80211_FCTL_FROMDS ? "RA" : "BSSID",
 		       MAC2STR(hdr->addr1));
 		return -1;
 	}
 
 	/* check if the frame came from a registered WDS connection */
 	*wds = prism2_rx_get_wds(local, hdr->addr2);
-	if (*wds == NULL && fc & WLAN_FC_FROMDS &&
+	if (*wds == NULL && fc & IEEE80211_FCTL_FROMDS &&
 	    (local->iw_mode != IW_MODE_INFRA ||
 	     !(local->wds_type & HOSTAP_WDS_AP_CLIENT) ||
 	     memcmp(hdr->addr2, local->bssid, ETH_ALEN) != 0)) {
@@ -560,7 +561,7 @@
 		return -1;
 	}
 
-	if (*wds && !(fc & WLAN_FC_FROMDS) && local->ap &&
+	if (*wds && !(fc & IEEE80211_FCTL_FROMDS) && local->ap &&
 	    hostap_is_sta_assoc(local->ap, hdr->addr2)) {
 		/* STA is actually associated with us even though it has a
 		 * registered WDS link. Assume it is in 'AP client' mode.
@@ -588,11 +589,13 @@
 	fc = le16_to_cpu(hdr->frame_ctl);
 
 	/* check that the frame is unicast frame to us */
-	if ((fc & (WLAN_FC_TODS | WLAN_FC_FROMDS)) == WLAN_FC_TODS &&
+	if ((fc & (IEEE80211_FCTL_TODS | IEEE80211_FCTL_FROMDS)) ==
+	    IEEE80211_FCTL_TODS &&
 	    memcmp(hdr->addr1, dev->dev_addr, ETH_ALEN) == 0 &&
 	    memcmp(hdr->addr3, dev->dev_addr, ETH_ALEN) == 0) {
 		/* ToDS frame with own addr BSSID and DA */
-	} else if ((fc & (WLAN_FC_TODS | WLAN_FC_FROMDS)) == WLAN_FC_FROMDS &&
+	} else if ((fc & (IEEE80211_FCTL_TODS | IEEE80211_FCTL_FROMDS)) ==
+		   IEEE80211_FCTL_FROMDS &&
 		   memcmp(hdr->addr1, dev->dev_addr, ETH_ALEN) == 0) {
 		/* FromDS frame with own addr as DA */
 	} else
@@ -770,7 +773,7 @@
 			      crypt->ops->decrypt_mpdu == NULL))
 			crypt = NULL;
 
-		if (!crypt && (fc & WLAN_FC_ISWEP)) {
+		if (!crypt && (fc & IEEE80211_FCTL_WEP)) {
 #if 0
 			/* This seems to be triggered by some (multicast?)
 			 * frames from other than current BSS, so just drop the
@@ -788,7 +791,7 @@
 	if (type != IEEE80211_FTYPE_DATA) {
 		if (type == IEEE80211_FTYPE_MGMT &&
 		    stype == IEEE80211_STYPE_AUTH &&
-		    fc & WLAN_FC_ISWEP && local->host_decrypt &&
+		    fc & IEEE80211_FCTL_WEP && local->host_decrypt &&
 		    (keyidx = hostap_rx_frame_decrypt(local, skb, crypt)) < 0)
 		{
 			printk(KERN_DEBUG "%s: failed to decrypt mgmt::auth "
@@ -809,16 +812,16 @@
 	if (skb->len < IEEE80211_DATA_HDR3_LEN)
 		goto rx_dropped;
 
-	switch (fc & (WLAN_FC_FROMDS | WLAN_FC_TODS)) {
-	case WLAN_FC_FROMDS:
+	switch (fc & (IEEE80211_FCTL_FROMDS | IEEE80211_FCTL_TODS)) {
+	case IEEE80211_FCTL_FROMDS:
 		memcpy(dst, hdr->addr1, ETH_ALEN);
 		memcpy(src, hdr->addr3, ETH_ALEN);
 		break;
-	case WLAN_FC_TODS:
+	case IEEE80211_FCTL_TODS:
 		memcpy(dst, hdr->addr3, ETH_ALEN);
 		memcpy(src, hdr->addr2, ETH_ALEN);
 		break;
-	case WLAN_FC_FROMDS | WLAN_FC_TODS:
+	case IEEE80211_FCTL_FROMDS | IEEE80211_FCTL_TODS:
 		if (skb->len < IEEE80211_DATA_HDR4_LEN)
 			goto rx_dropped;
 		memcpy(dst, hdr->addr3, ETH_ALEN);
@@ -838,7 +841,8 @@
 	}
 
 	if (local->iw_mode == IW_MODE_MASTER && !wds &&
-	    (fc & (WLAN_FC_TODS | WLAN_FC_FROMDS)) == WLAN_FC_FROMDS &&
+	    (fc & (IEEE80211_FCTL_TODS | IEEE80211_FCTL_FROMDS)) ==
+	    IEEE80211_FCTL_FROMDS &&
 	    local->stadev &&
 	    memcmp(hdr->addr2, local->assoc_ap_addr, ETH_ALEN) == 0) {
 		/* Frame from BSSID of the AP for which we are a client */
@@ -882,22 +886,22 @@
 
 	/* skb: hdr + (possibly fragmented, possibly encrypted) payload */
 
-	if (local->host_decrypt && (fc & WLAN_FC_ISWEP) &&
+	if (local->host_decrypt && (fc & IEEE80211_FCTL_WEP) &&
 	    (keyidx = hostap_rx_frame_decrypt(local, skb, crypt)) < 0)
 		goto rx_dropped;
 	hdr = (struct ieee80211_hdr *) skb->data;
 
 	/* skb: hdr + (possibly fragmented) plaintext payload */
 
-	if (local->host_decrypt && (fc & WLAN_FC_ISWEP) &&
-	    (frag != 0 || (fc & WLAN_FC_MOREFRAG))) {
+	if (local->host_decrypt && (fc & IEEE80211_FCTL_WEP) &&
+	    (frag != 0 || (fc & IEEE80211_FCTL_MOREFRAGS))) {
 		int flen;
 		struct sk_buff *frag_skb =
 			prism2_frag_cache_get(local, hdr);
 		if (!frag_skb) {
 			printk(KERN_DEBUG "%s: Rx cannot get skb from "
 			       "fragment cache (morefrag=%d seq=%u frag=%u)\n",
-			       dev->name, (fc & WLAN_FC_MOREFRAG) != 0,
+			       dev->name, (fc & IEEE80211_FCTL_MOREFRAGS) != 0,
 			       WLAN_GET_SEQ_SEQ(sc) >> 4, frag);
 			goto rx_dropped;
 		}
@@ -927,7 +931,7 @@
 		dev_kfree_skb(skb);
 		skb = NULL;
 
-		if (fc & WLAN_FC_MOREFRAG) {
+		if (fc & IEEE80211_FCTL_MOREFRAGS) {
 			/* more fragments expected - leave the skb in fragment
 			 * cache for now; it will be delivered to upper layers
 			 * after all fragments have been received */
@@ -944,12 +948,12 @@
 	/* skb: hdr + (possible reassembled) full MSDU payload; possibly still
 	 * encrypted/authenticated */
 
-	if (local->host_decrypt && (fc & WLAN_FC_ISWEP) &&
+	if (local->host_decrypt && (fc & IEEE80211_FCTL_WEP) &&
 	    hostap_rx_frame_decrypt_msdu(local, skb, keyidx, crypt))
 		goto rx_dropped;
 
 	hdr = (struct ieee80211_hdr *) skb->data;
-	if (crypt && !(fc & WLAN_FC_ISWEP) && !local->open_wep) {
+	if (crypt && !(fc & IEEE80211_FCTL_WEP) && !local->open_wep) {
 		if (local->ieee_802_1x &&
 		    hostap_is_eapol_frame(local, skb)) {
 			/* pass unencrypted EAPOL frames even if encryption is
@@ -964,7 +968,7 @@
 		}
 	}
 
-	if (local->drop_unencrypted && !(fc & WLAN_FC_ISWEP) &&
+	if (local->drop_unencrypted && !(fc & IEEE80211_FCTL_WEP) &&
 	    !hostap_is_eapol_frame(local, skb)) {
 		if (net_ratelimit()) {
 			printk(KERN_DEBUG "%s: dropped unencrypted RX data "
@@ -1023,7 +1027,8 @@
 		memcpy(skb_push(skb, ETH_ALEN), dst, ETH_ALEN);
 	}
 
-	if (wds && ((fc & (WLAN_FC_TODS | WLAN_FC_FROMDS)) == WLAN_FC_TODS) &&
+	if (wds && ((fc & (IEEE80211_FCTL_TODS | IEEE80211_FCTL_FROMDS)) ==
+		    IEEE80211_FCTL_TODS) &&
 	    skb->len >= ETH_HLEN + ETH_ALEN) {
 		/* Non-standard frame: get addr4 from its bogus location after
 		 * the payload */
diff --git a/drivers/net/wireless/hostap/hostap_80211_tx.c b/drivers/net/wireless/hostap/hostap_80211_tx.c
index 79cf553..fb37804 100644
--- a/drivers/net/wireless/hostap/hostap_80211_tx.c
+++ b/drivers/net/wireless/hostap/hostap_80211_tx.c
@@ -14,8 +14,8 @@
 	fc = le16_to_cpu(hdr->frame_ctl);
 	printk(KERN_DEBUG "   FC=0x%04x (type=%d:%d)%s%s",
 	       fc, WLAN_FC_GET_TYPE(fc) >> 2, WLAN_FC_GET_STYPE(fc) >> 4,
-	       fc & WLAN_FC_TODS ? " [ToDS]" : "",
-	       fc & WLAN_FC_FROMDS ? " [FromDS]" : "");
+	       fc & IEEE80211_FCTL_TODS ? " [ToDS]" : "",
+	       fc & IEEE80211_FCTL_FROMDS ? " [FromDS]" : "");
 
 	if (skb->len < IEEE80211_DATA_HDR3_LEN) {
 		printk("\n");
@@ -128,7 +128,7 @@
 		 * frame format */
 
 		if (use_wds == WDS_COMPLIANT_FRAME) {
-			fc |= WLAN_FC_FROMDS | WLAN_FC_TODS;
+			fc |= IEEE80211_FCTL_FROMDS | IEEE80211_FCTL_TODS;
 			/* From&To DS: Addr1 = RA, Addr2 = TA, Addr3 = DA,
 			 * Addr4 = SA */
 			memcpy(&hdr.addr4, skb->data + ETH_ALEN, ETH_ALEN);
@@ -136,7 +136,7 @@
 		} else {
 			/* bogus 4-addr format to workaround Prism2 station
 			 * f/w bug */
-			fc |= WLAN_FC_TODS;
+			fc |= IEEE80211_FCTL_TODS;
 			/* From DS: Addr1 = DA (used as RA),
 			 * Addr2 = BSSID (used as TA), Addr3 = SA (used as DA),
 			 */
@@ -161,13 +161,13 @@
 		memcpy(&hdr.addr2, dev->dev_addr, ETH_ALEN);
 		memcpy(&hdr.addr3, skb->data, ETH_ALEN);
 	} else if (local->iw_mode == IW_MODE_MASTER && !to_assoc_ap) {
-		fc |= WLAN_FC_FROMDS;
+		fc |= IEEE80211_FCTL_FROMDS;
 		/* From DS: Addr1 = DA, Addr2 = BSSID, Addr3 = SA */
 		memcpy(&hdr.addr1, skb->data, ETH_ALEN);
 		memcpy(&hdr.addr2, dev->dev_addr, ETH_ALEN);
 		memcpy(&hdr.addr3, skb->data + ETH_ALEN, ETH_ALEN);
 	} else if (local->iw_mode == IW_MODE_INFRA || to_assoc_ap) {
-		fc |= WLAN_FC_TODS;
+		fc |= IEEE80211_FCTL_TODS;
 		/* To DS: Addr1 = BSSID, Addr2 = SA, Addr3 = DA */
 		memcpy(&hdr.addr1, to_assoc_ap ?
 		       local->assoc_ap_addr : local->bssid, ETH_ALEN);
@@ -439,12 +439,12 @@
 	/* Request TX callback if protocol version is 2 in 802.11 header;
 	 * this version 2 is a special case used between hostapd and kernel
 	 * driver */
-	if (((fc & WLAN_FC_PVER) == BIT(1)) &&
+	if (((fc & IEEE80211_FCTL_VERS) == BIT(1)) &&
 	    local->ap && local->ap->tx_callback_idx && meta->tx_cb_idx == 0) {
 		meta->tx_cb_idx = local->ap->tx_callback_idx;
 
 		/* remove special version from the frame header */
-		fc &= ~WLAN_FC_PVER;
+		fc &= ~IEEE80211_FCTL_VERS;
 		hdr->frame_ctl = cpu_to_le16(fc);
 	}
 
@@ -454,7 +454,7 @@
 	}
 
 	if (local->ieee_802_1x && meta->ethertype == ETH_P_PAE && tx.crypt &&
-	    !(fc & WLAN_FC_ISWEP)) {
+	    !(fc & IEEE80211_FCTL_VERS)) {
 		no_encrypt = 1;
 		PDEBUG(DEBUG_EXTRA2, "%s: TX: IEEE 802.1X - passing "
 		       "unencrypted EAPOL frame\n", dev->name);
@@ -466,7 +466,7 @@
 	else if ((tx.crypt || local->crypt[local->tx_keyidx]) && !no_encrypt) {
 		/* Add ISWEP flag both for firmware and host based encryption
 		 */
-		fc |= WLAN_FC_ISWEP;
+		fc |= IEEE80211_FCTL_WEP;
 		hdr->frame_ctl = cpu_to_le16(fc);
 	} else if (local->drop_unencrypted &&
 		   WLAN_FC_GET_TYPE(fc) == IEEE80211_FTYPE_DATA &&
diff --git a/drivers/net/wireless/hostap/hostap_ap.c b/drivers/net/wireless/hostap/hostap_ap.c
index 596c4dd..2c6ea79 100644
--- a/drivers/net/wireless/hostap/hostap_ap.c
+++ b/drivers/net/wireless/hostap/hostap_ap.c
@@ -604,7 +604,7 @@
 	/* Pass the TX callback frame to the hostapd; use 802.11 header version
 	 * 1 to indicate failure (no ACK) and 2 success (frame ACKed) */
 
-	fc &= ~WLAN_FC_PVER;
+	fc &= ~IEEE80211_FCTL_VERS;
 	fc |= ok ? BIT(1) : BIT(0);
 	hdr->frame_ctl = cpu_to_le16(fc);
 
@@ -956,7 +956,7 @@
 
 	memcpy(hdr->addr1, addr, ETH_ALEN); /* DA / RA */
 	if (WLAN_FC_GET_TYPE(fc) == IEEE80211_FTYPE_DATA) {
-		fc |= WLAN_FC_FROMDS;
+		fc |= IEEE80211_FCTL_FROMDS;
 		memcpy(hdr->addr2, dev->dev_addr, ETH_ALEN); /* BSSID */
 		memcpy(hdr->addr3, dev->dev_addr, ETH_ALEN); /* SA */
 	} else if (WLAN_FC_GET_TYPE(fc) == IEEE80211_FTYPE_CTL) {
@@ -1436,7 +1436,7 @@
 			    challenge == NULL ||
 			    memcmp(sta->u.sta.challenge, challenge,
 				   WLAN_AUTH_CHALLENGE_LEN) != 0 ||
-			    !(fc & WLAN_FC_ISWEP)) {
+			    !(fc & IEEE80211_FCTL_WEP)) {
 				txt = "challenge response incorrect";
 				resp = WLAN_STATUS_CHALLENGE_FAIL;
 				goto fail;
@@ -1871,7 +1871,7 @@
 	PDEBUG(DEBUG_PS2, "handle_pspoll: BSSID=" MACSTR ", TA=" MACSTR
 	       " PWRMGT=%d\n",
 	       MAC2STR(hdr->addr1), MAC2STR(hdr->addr2),
-	       !!(le16_to_cpu(hdr->frame_ctl) & WLAN_FC_PWRMGT));
+	       !!(le16_to_cpu(hdr->frame_ctl) & IEEE80211_FCTL_PM));
 
 	if (memcmp(hdr->addr1, dev->dev_addr, ETH_ALEN)) {
 		PDEBUG(DEBUG_AP, "handle_pspoll - addr1(BSSID)=" MACSTR
@@ -2150,7 +2150,8 @@
 	if (!local->hostapd && type == IEEE80211_FTYPE_DATA) {
 		PDEBUG(DEBUG_AP, "handle_ap_item - data frame\n");
 
-		if (!(fc & WLAN_FC_TODS) || (fc & WLAN_FC_FROMDS)) {
+		if (!(fc & IEEE80211_FCTL_TODS) ||
+		    (fc & IEEE80211_FCTL_FROMDS)) {
 			if (stype == IEEE80211_STYPE_NULLFUNC) {
 				/* no ToDS nullfunc seems to be used to check
 				 * AP association; so send reject message to
@@ -2746,7 +2747,8 @@
 
 	if (meta->flags & HOSTAP_TX_FLAGS_ADD_MOREDATA) {
 		/* indicate to STA that more frames follow */
-		hdr->frame_ctl |= __constant_cpu_to_le16(WLAN_FC_MOREDATA);
+		hdr->frame_ctl |=
+			__constant_cpu_to_le16(IEEE80211_FCTL_MOREDATA);
 	}
 
 	if (meta->flags & HOSTAP_TX_FLAGS_BUFFERED_FRAME) {
@@ -2905,7 +2907,7 @@
 		return -1;
 
 	fc = le16_to_cpu(hdr->frame_ctl);
-	hostap_update_sta_ps2(local, sta, fc & WLAN_FC_PWRMGT,
+	hostap_update_sta_ps2(local, sta, fc & IEEE80211_FCTL_PM,
 			      WLAN_FC_GET_TYPE(fc), WLAN_FC_GET_STYPE(fc));
 
 	atomic_dec(&sta->users);
@@ -2946,7 +2948,7 @@
 		ret = AP_RX_CONTINUE;
 
 
-	if (fc & WLAN_FC_TODS) {
+	if (fc & IEEE80211_FCTL_TODS) {
 		if (!wds && (sta == NULL || !(sta->flags & WLAN_STA_ASSOC))) {
 			if (local->hostapd) {
 				prism2_rx_80211(local->apdev, skb, rx_stats,
@@ -2964,7 +2966,7 @@
 			ret = AP_RX_EXIT;
 			goto out;
 		}
-	} else if (fc & WLAN_FC_FROMDS) {
+	} else if (fc & IEEE80211_FCTL_FROMDS) {
 		if (!wds) {
 			/* FromDS frame - not for us; probably
 			 * broadcast/multicast in another BSS - drop */
@@ -3019,7 +3021,7 @@
 	}
 
 	if (sta) {
-		hostap_update_sta_ps2(local, sta, fc & WLAN_FC_PWRMGT,
+		hostap_update_sta_ps2(local, sta, fc & IEEE80211_FCTL_PM,
 				      type, stype);
 
 		sta->rx_packets++;
@@ -3028,7 +3030,7 @@
 	}
 
 	if (local->ap->nullfunc_ack && stype == IEEE80211_STYPE_NULLFUNC &&
-	    fc & WLAN_FC_TODS) {
+	    fc & IEEE80211_FCTL_TODS) {
 		if (local->hostapd) {
 			prism2_rx_80211(local->apdev, skb, rx_stats,
 					PRISM2_RX_NULLFUNC_ACK);
diff --git a/drivers/net/wireless/hostap/hostap_common.h b/drivers/net/wireless/hostap/hostap_common.h
index e0ce34f..6f4fa9d 100644
--- a/drivers/net/wireless/hostap/hostap_common.h
+++ b/drivers/net/wireless/hostap/hostap_common.h
@@ -9,16 +9,6 @@
 
 /* IEEE 802.11 defines */
 
-#define WLAN_FC_PVER (BIT(1) | BIT(0))
-#define WLAN_FC_TODS BIT(8)
-#define WLAN_FC_FROMDS BIT(9)
-#define WLAN_FC_MOREFRAG BIT(10)
-#define WLAN_FC_RETRY BIT(11)
-#define WLAN_FC_PWRMGT BIT(12)
-#define WLAN_FC_MOREDATA BIT(13)
-#define WLAN_FC_ISWEP BIT(14)
-#define WLAN_FC_ORDER BIT(15)
-
 /* Information Element IDs */
 #define WLAN_EID_SSID 0
 #define WLAN_EID_SUPP_RATES 1
diff --git a/drivers/net/wireless/hostap/hostap_hw.c b/drivers/net/wireless/hostap/hostap_hw.c
index 34037b5..e533a66 100644
--- a/drivers/net/wireless/hostap/hostap_hw.c
+++ b/drivers/net/wireless/hostap/hostap_hw.c
@@ -1844,7 +1844,8 @@
 	memcpy(&txdesc.frame_control, skb->data, hdr_len);
  	fc = le16_to_cpu(txdesc.frame_control);
 	if (WLAN_FC_GET_TYPE(fc) == IEEE80211_FTYPE_DATA &&
-	    (fc & WLAN_FC_FROMDS) && (fc & WLAN_FC_TODS) && skb->len >= 30) {
+	    (fc & IEEE80211_FCTL_FROMDS) && (fc & IEEE80211_FCTL_TODS) &&
+	    skb->len >= 30) {
 		/* Addr4 */
 		memcpy(txdesc.addr4, skb->data + hdr_len, ETH_ALEN);
 		hdr_len += ETH_ALEN;
@@ -2399,8 +2400,8 @@
 	       WLAN_FC_GET_TYPE(fc) == IEEE80211_FTYPE_CTL ? "Ctrl" : "",
 	       WLAN_FC_GET_TYPE(fc) == IEEE80211_FTYPE_DATA ? "Data" : "",
 	       WLAN_FC_GET_STYPE(fc) >> 4,
-	       fc & WLAN_FC_TODS ? " ToDS" : "",
-	       fc & WLAN_FC_FROMDS ? " FromDS" : "");
+	       fc & IEEE80211_FCTL_TODS ? " ToDS" : "",
+	       fc & IEEE80211_FCTL_FROMDS ? " FromDS" : "");
 	PDEBUG(DEBUG_EXTRA, "   A1=" MACSTR " A2=" MACSTR " A3="
 	       MACSTR " A4=" MACSTR "\n",
 	       MAC2STR(txdesc.addr1), MAC2STR(txdesc.addr2),