rt2x00: Use ieee80211 fc handlers
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>
This commit is contained in:
parent
e800f17c6f
commit
ac1044628d
@ -110,33 +110,6 @@
|
||||
#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.
|
||||
|
@ -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++;
|
||||
|
@ -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);
|
||||
|
||||
/*
|
||||
|
Loading…
x
Reference in New Issue
Block a user