diff options
Diffstat (limited to 'drivers/net/wireless/p54/p54.h')
-rw-r--r-- | drivers/net/wireless/p54/p54.h | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/drivers/net/wireless/p54/p54.h b/drivers/net/wireless/p54/p54.h index e0a68815a471..ab79e32f0b27 100644 --- a/drivers/net/wireless/p54/p54.h +++ b/drivers/net/wireless/p54/p54.h | |||
@@ -44,6 +44,9 @@ enum p54_control_frame_types { | |||
44 | P54_CONTROL_TYPE_BT_OPTIONS = 35 | 44 | P54_CONTROL_TYPE_BT_OPTIONS = 35 |
45 | }; | 45 | }; |
46 | 46 | ||
47 | #define P54_HDR_FLAG_CONTROL BIT(15) | ||
48 | #define P54_HDR_FLAG_CONTROL_OPSET (BIT(15) + BIT(0)) | ||
49 | |||
47 | struct p54_hdr { | 50 | struct p54_hdr { |
48 | __le16 flags; | 51 | __le16 flags; |
49 | __le16 len; | 52 | __le16 len; |
@@ -54,6 +57,10 @@ struct p54_hdr { | |||
54 | u8 data[0]; | 57 | u8 data[0]; |
55 | } __attribute__ ((packed)); | 58 | } __attribute__ ((packed)); |
56 | 59 | ||
60 | #define FREE_AFTER_TX(skb) \ | ||
61 | ((((struct p54_hdr *) ((struct sk_buff *) skb)->data)-> \ | ||
62 | flags) == cpu_to_le16(P54_HDR_FLAG_CONTROL_OPSET)) | ||
63 | |||
57 | struct p54_edcf_queue_param { | 64 | struct p54_edcf_queue_param { |
58 | __le16 aifs; | 65 | __le16 aifs; |
59 | __le16 cwmin; | 66 | __le16 cwmin; |
@@ -82,8 +89,7 @@ struct p54_common { | |||
82 | u32 rx_start; | 89 | u32 rx_start; |
83 | u32 rx_end; | 90 | u32 rx_end; |
84 | struct sk_buff_head tx_queue; | 91 | struct sk_buff_head tx_queue; |
85 | void (*tx)(struct ieee80211_hw *dev, struct sk_buff *skb, | 92 | void (*tx)(struct ieee80211_hw *dev, struct sk_buff *skb); |
86 | int free_on_tx); | ||
87 | int (*open)(struct ieee80211_hw *dev); | 93 | int (*open)(struct ieee80211_hw *dev); |
88 | void (*stop)(struct ieee80211_hw *dev); | 94 | void (*stop)(struct ieee80211_hw *dev); |
89 | int mode; | 95 | int mode; |