linux-wireless.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH 3/6] b43legacy: use le16 frame control directly, avoid byteswapping
@ 2008-07-08 20:47 Harvey Harrison
  2008-07-09 12:47 ` Michael Buesch
  0 siblings, 1 reply; 2+ messages in thread
From: Harvey Harrison @ 2008-07-08 20:47 UTC (permalink / raw)
  To: John Linville; +Cc: Michael Buesch, linux-wireless

Signed-off-by: Harvey Harrison <harvey.harrison@gmail.com>
---
 drivers/net/wireless/b43legacy/xmit.c |    7 ++-----
 1 files changed, 2 insertions(+), 5 deletions(-)

diff --git a/drivers/net/wireless/b43legacy/xmit.c b/drivers/net/wireless/b43legacy/xmit.c
index a354078..5e8a575 100644
--- a/drivers/net/wireless/b43legacy/xmit.c
+++ b/drivers/net/wireless/b43legacy/xmit.c
@@ -193,7 +193,6 @@ static int generate_txhdr_fw3(struct b43legacy_wldev *dev,
 {
 	const struct ieee80211_hdr *wlhdr;
 	int use_encryption = (!(info->flags & IEEE80211_TX_CTL_DO_NOT_ENCRYPT));
-	u16 fctl;
 	u8 rate;
 	struct ieee80211_rate *rate_fb;
 	int rate_ofdm;
@@ -204,7 +203,6 @@ static int generate_txhdr_fw3(struct b43legacy_wldev *dev,
 	struct ieee80211_rate *tx_rate;
 
 	wlhdr = (const struct ieee80211_hdr *)fragment_data;
-	fctl = le16_to_cpu(wlhdr->frame_control);
 
 	memset(txhdr, 0, sizeof(*txhdr));
 
@@ -253,7 +251,7 @@ static int generate_txhdr_fw3(struct b43legacy_wldev *dev,
 			mac_ctl |= (key->algorithm <<
 				   B43legacy_TX4_MAC_KEYALG_SHIFT) &
 				   B43legacy_TX4_MAC_KEYALG;
-			wlhdr_len = ieee80211_get_hdrlen(fctl);
+			wlhdr_len = ieee80211_hdrlen(wlhdr->frame_control);
 			iv_len = min((size_t)info->control.iv_len,
 				     ARRAY_SIZE(txhdr->iv));
 			memcpy(txhdr->iv, ((u8 *)wlhdr) + wlhdr_len, iv_len);
@@ -295,8 +293,7 @@ static int generate_txhdr_fw3(struct b43legacy_wldev *dev,
 	/* MAC control */
 	if (!(info->flags & IEEE80211_TX_CTL_NO_ACK))
 		mac_ctl |= B43legacy_TX4_MAC_ACK;
-	if (!(((fctl & IEEE80211_FCTL_FTYPE) == IEEE80211_FTYPE_CTL) &&
-	      ((fctl & IEEE80211_FCTL_STYPE) == IEEE80211_STYPE_PSPOLL)))
+	if (!ieee80211_is_pspoll(wlhdr->frame_control))
 		mac_ctl |= B43legacy_TX4_MAC_HWSEQ;
 	if (info->flags & IEEE80211_TX_CTL_FIRST_FRAGMENT)
 		mac_ctl |= B43legacy_TX4_MAC_STMSDU;
-- 
1.5.6.1.322.ge904b



^ permalink raw reply related	[flat|nested] 2+ messages in thread

* Re: [PATCH 3/6] b43legacy: use le16 frame control directly, avoid byteswapping
  2008-07-08 20:47 [PATCH 3/6] b43legacy: use le16 frame control directly, avoid byteswapping Harvey Harrison
@ 2008-07-09 12:47 ` Michael Buesch
  0 siblings, 0 replies; 2+ messages in thread
From: Michael Buesch @ 2008-07-09 12:47 UTC (permalink / raw)
  To: Harvey Harrison; +Cc: John Linville, linux-wireless

On Tuesday 08 July 2008 22:47:23 Harvey Harrison wrote:
> Signed-off-by: Harvey Harrison <harvey.harrison@gmail.com>

ACK

> ---
>  drivers/net/wireless/b43legacy/xmit.c |    7 ++-----
>  1 files changed, 2 insertions(+), 5 deletions(-)
> 
> diff --git a/drivers/net/wireless/b43legacy/xmit.c b/drivers/net/wireless/b43legacy/xmit.c
> index a354078..5e8a575 100644
> --- a/drivers/net/wireless/b43legacy/xmit.c
> +++ b/drivers/net/wireless/b43legacy/xmit.c
> @@ -193,7 +193,6 @@ static int generate_txhdr_fw3(struct b43legacy_wldev *dev,
>  {
>  	const struct ieee80211_hdr *wlhdr;
>  	int use_encryption = (!(info->flags & IEEE80211_TX_CTL_DO_NOT_ENCRYPT));
> -	u16 fctl;
>  	u8 rate;
>  	struct ieee80211_rate *rate_fb;
>  	int rate_ofdm;
> @@ -204,7 +203,6 @@ static int generate_txhdr_fw3(struct b43legacy_wldev *dev,
>  	struct ieee80211_rate *tx_rate;
>  
>  	wlhdr = (const struct ieee80211_hdr *)fragment_data;
> -	fctl = le16_to_cpu(wlhdr->frame_control);
>  
>  	memset(txhdr, 0, sizeof(*txhdr));
>  
> @@ -253,7 +251,7 @@ static int generate_txhdr_fw3(struct b43legacy_wldev *dev,
>  			mac_ctl |= (key->algorithm <<
>  				   B43legacy_TX4_MAC_KEYALG_SHIFT) &
>  				   B43legacy_TX4_MAC_KEYALG;
> -			wlhdr_len = ieee80211_get_hdrlen(fctl);
> +			wlhdr_len = ieee80211_hdrlen(wlhdr->frame_control);
>  			iv_len = min((size_t)info->control.iv_len,
>  				     ARRAY_SIZE(txhdr->iv));
>  			memcpy(txhdr->iv, ((u8 *)wlhdr) + wlhdr_len, iv_len);
> @@ -295,8 +293,7 @@ static int generate_txhdr_fw3(struct b43legacy_wldev *dev,
>  	/* MAC control */
>  	if (!(info->flags & IEEE80211_TX_CTL_NO_ACK))
>  		mac_ctl |= B43legacy_TX4_MAC_ACK;
> -	if (!(((fctl & IEEE80211_FCTL_FTYPE) == IEEE80211_FTYPE_CTL) &&
> -	      ((fctl & IEEE80211_FCTL_STYPE) == IEEE80211_STYPE_PSPOLL)))
> +	if (!ieee80211_is_pspoll(wlhdr->frame_control))
>  		mac_ctl |= B43legacy_TX4_MAC_HWSEQ;
>  	if (info->flags & IEEE80211_TX_CTL_FIRST_FRAGMENT)
>  		mac_ctl |= B43legacy_TX4_MAC_STMSDU;



-- 
Greetings Michael.

^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2008-07-09 12:47 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2008-07-08 20:47 [PATCH 3/6] b43legacy: use le16 frame control directly, avoid byteswapping Harvey Harrison
2008-07-09 12:47 ` Michael Buesch

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).