aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/wireless/p54/p54.h
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/net/wireless/p54/p54.h')
-rw-r--r--drivers/net/wireless/p54/p54.h10
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
47struct p54_hdr { 50struct 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
57struct p54_edcf_queue_param { 64struct 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;