]> err.no Git - linux-2.6/commitdiff
rt2x00: Use ieee80211 fc handlers
authorIvo van Doorn <ivdoorn@gmail.com>
Mon, 16 Jun 2008 17:54:57 +0000 (19:54 +0200)
committerJohn W. Linville <linville@tuxdriver.com>
Thu, 26 Jun 2008 20:49:15 +0000 (16:49 -0400)
With the introduction of the ieee80211 fc handlers
we can now remove the rt2x00.h versions to use the
global versions.

Signed-off-by: Ivo van Doorn <IvDoorn@gmail.com>
Reviewed-by: Harvey Harrison <harvey.harrison@gmail.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
drivers/net/wireless/rt2x00/rt2x00.h
drivers/net/wireless/rt2x00/rt2x00dev.c
drivers/net/wireless/rt2x00/rt2x00queue.c

index 0da8f972a1b22582b7faacb256d014afd4acef11..21fd9b40be8f5233a7542c32e9f693f15638734b 100644 (file)
 #define SHORT_DIFS             ( SHORT_PIFS + SHORT_SLOT_TIME )
 #define EIFS                   ( SIFS + (8 * (IEEE80211_HEADER + ACK_SIZE)) )
 
-/*
- * IEEE802.11 header defines
- */
-static inline int is_rts_frame(u16 fc)
-{
-       return (((fc & IEEE80211_FCTL_FTYPE) == IEEE80211_FTYPE_CTL) &&
-               ((fc & IEEE80211_FCTL_STYPE) == IEEE80211_STYPE_RTS));
-}
-
-static inline int is_cts_frame(u16 fc)
-{
-       return (((fc & IEEE80211_FCTL_FTYPE) == IEEE80211_FTYPE_CTL) &&
-               ((fc & IEEE80211_FCTL_STYPE) == IEEE80211_STYPE_CTS));
-}
-
-static inline int is_probe_resp(u16 fc)
-{
-       return (((fc & IEEE80211_FCTL_FTYPE) == IEEE80211_FTYPE_MGMT) &&
-               ((fc & IEEE80211_FCTL_STYPE) == IEEE80211_STYPE_PROBE_RESP));
-}
-
-static inline int is_beacon(u16 fc)
-{
-       return (((fc & IEEE80211_FCTL_FTYPE) == IEEE80211_FTYPE_MGMT) &&
-               ((fc & IEEE80211_FCTL_STYPE) == IEEE80211_STYPE_BEACON));
-}
-
 /*
  * Chipset identification
  * The chipset on the device is composed of a RT and RF chip.
index 9ea677320daa672e98b96e1945b261b199845433..f9e75319770a6e917e0f7088eb7317b098a1f17a 100644 (file)
@@ -561,7 +561,6 @@ void rt2x00lib_rxdone(struct queue_entry *entry,
        unsigned int align;
        unsigned int i;
        int idx = -1;
-       u16 fc;
 
        /*
         * The data behind the ieee80211 header must be
@@ -606,8 +605,8 @@ void rt2x00lib_rxdone(struct queue_entry *entry,
         * Only update link status if this is a beacon frame carrying our bssid.
         */
        hdr = (struct ieee80211_hdr *)entry->skb->data;
-       fc = le16_to_cpu(hdr->frame_control);
-       if (is_beacon(fc) && (rxdesc->dev_flags & RXDONE_MY_BSS))
+       if (ieee80211_is_beacon(hdr->frame_control) &&
+           (rxdesc->dev_flags & RXDONE_MY_BSS))
                rt2x00lib_update_link_stats(&rt2x00dev->link, rxdesc->rssi);
 
        rt2x00dev->link.qual.rx_success++;
index 7b52039b01a60ab1823afb4f173de7434c2da380..15660b588a120eb247e93997316e3054df3cb10c 100644 (file)
@@ -80,7 +80,6 @@ void rt2x00queue_create_tx_descriptor(struct queue_entry *entry,
        unsigned int data_length;
        unsigned int duration;
        unsigned int residual;
-       u16 frame_control;
 
        memset(txdesc, 0, sizeof(*txdesc));
 
@@ -95,11 +94,6 @@ void rt2x00queue_create_tx_descriptor(struct queue_entry *entry,
        /* Data length should be extended with 4 bytes for CRC */
        data_length = entry->skb->len + 4;
 
-       /*
-        * Read required fields from ieee80211 header.
-        */
-       frame_control = le16_to_cpu(hdr->frame_control);
-
        /*
         * Check whether this frame is to be acked.
         */
@@ -109,9 +103,10 @@ void rt2x00queue_create_tx_descriptor(struct queue_entry *entry,
        /*
         * Check if this is a RTS/CTS frame
         */
-       if (is_rts_frame(frame_control) || is_cts_frame(frame_control)) {
+       if (ieee80211_is_rts(hdr->frame_control) ||
+           ieee80211_is_cts(hdr->frame_control)) {
                __set_bit(ENTRY_TXD_BURST, &txdesc->flags);
-               if (is_rts_frame(frame_control))
+               if (ieee80211_is_rts(hdr->frame_control))
                        __set_bit(ENTRY_TXD_RTS_FRAME, &txdesc->flags);
                else
                        __set_bit(ENTRY_TXD_CTS_FRAME, &txdesc->flags);
@@ -139,7 +134,8 @@ void rt2x00queue_create_tx_descriptor(struct queue_entry *entry,
         * Beacons and probe responses require the tsf timestamp
         * to be inserted into the frame.
         */
-       if (txdesc->queue == QID_BEACON || is_probe_resp(frame_control))
+       if (ieee80211_is_beacon(hdr->frame_control) ||
+           ieee80211_is_probe_resp(hdr->frame_control))
                __set_bit(ENTRY_TXD_REQ_TIMESTAMP, &txdesc->flags);
 
        /*