diff options
author | Christian Lamparter <chunkeey@web.de> | 2008-12-14 15:05:42 +0100 |
---|---|---|
committer | John W. Linville <linville@tuxdriver.com> | 2008-12-19 15:23:19 -0500 |
commit | 0a5ec96ad68516582023a877aceff9db7636d141 (patch) | |
tree | 8a8346aabff7306d2b13a36d756f14000e629595 /drivers/net/wireless/p54/p54.h | |
parent | 69ba3e5d74a467a64248cd90ccafb524b1fddcb5 (diff) | |
download | op-kernel-dev-0a5ec96ad68516582023a877aceff9db7636d141.zip op-kernel-dev-0a5ec96ad68516582023a877aceff9db7636d141.tar.gz |
p54: remove free_on_tx parameter
This patch simplifies the tx code a bit and will be necessary for
the upcoming stlc45xx<->p54 port.
In detail: we no longer have to tell all back-end drivers directly,
if we want to free a frame right after it was send to the firmware,
or if we do it in the library callback later.
Signed-off-by: Christian Lamparter <chunkeey@web.de>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
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 e0a6881..ab79e32 100644 --- a/drivers/net/wireless/p54/p54.h +++ b/drivers/net/wireless/p54/p54.h @@ -44,6 +44,9 @@ enum p54_control_frame_types { P54_CONTROL_TYPE_BT_OPTIONS = 35 }; +#define P54_HDR_FLAG_CONTROL BIT(15) +#define P54_HDR_FLAG_CONTROL_OPSET (BIT(15) + BIT(0)) + struct p54_hdr { __le16 flags; __le16 len; @@ -54,6 +57,10 @@ struct p54_hdr { u8 data[0]; } __attribute__ ((packed)); +#define FREE_AFTER_TX(skb) \ + ((((struct p54_hdr *) ((struct sk_buff *) skb)->data)-> \ + flags) == cpu_to_le16(P54_HDR_FLAG_CONTROL_OPSET)) + struct p54_edcf_queue_param { __le16 aifs; __le16 cwmin; @@ -82,8 +89,7 @@ struct p54_common { u32 rx_start; u32 rx_end; struct sk_buff_head tx_queue; - void (*tx)(struct ieee80211_hw *dev, struct sk_buff *skb, - int free_on_tx); + void (*tx)(struct ieee80211_hw *dev, struct sk_buff *skb); int (*open)(struct ieee80211_hw *dev); void (*stop)(struct ieee80211_hw *dev); int mode; |