2012-05-15 19:04:28

by Clark Williams

[permalink] [raw]
Subject: [PATCH] compile fix for brcm80211 on v3.2.17

Ben,

Found this while building v3.2.17-rt28:

diff --git a/drivers/net/wireless/brcm80211/brcmsmac/main.c b/drivers/net/wireless/brcm80211/brcmsmac/main.c
index f98becc..833cbef 100644
--- a/drivers/net/wireless/brcm80211/brcmsmac/main.c
+++ b/drivers/net/wireless/brcm80211/brcmsmac/main.c
@@ -7879,7 +7879,7 @@ brcms_c_recvctl(struct brcms_c_info *wlc, struct d11rxhdr *rxh,
if (wlc->hw->suspended_fifos) {
hdr = (struct ieee80211_hdr *)p->data;
if (ieee80211_is_beacon(hdr->frame_control))
- brcms_b_mute(wlc->hw, false);
+ brcms_b_mute(wlc->hw, false, 0);
}

memcpy(IEEE80211_SKB_RXCB(p), &rx_status, sizeof(rx_status));

Not sure if that's completely correct but I found another call site for
brcms_b_mute() that also passed 0 flags.

Clark


Attachments:
signature.asc (198.00 B)

2012-05-15 19:22:19

by Steven Rostedt

[permalink] [raw]
Subject: Re: [PATCH] compile fix for brcm80211 on v3.2.17

On Tue, 2012-05-15 at 14:04 -0500, Clark Williams wrote:
> Ben,
>
> Found this while building v3.2.17-rt28:
>
> diff --git a/drivers/net/wireless/brcm80211/brcmsmac/main.c b/drivers/net/wireless/brcm80211/brcmsmac/main.c
> index f98becc..833cbef 100644
> --- a/drivers/net/wireless/brcm80211/brcmsmac/main.c
> +++ b/drivers/net/wireless/brcm80211/brcmsmac/main.c
> @@ -7879,7 +7879,7 @@ brcms_c_recvctl(struct brcms_c_info *wlc, struct d11rxhdr *rxh,
> if (wlc->hw->suspended_fifos) {
> hdr = (struct ieee80211_hdr *)p->data;
> if (ieee80211_is_beacon(hdr->frame_control))
> - brcms_b_mute(wlc->hw, false);
> + brcms_b_mute(wlc->hw, false, 0);
> }
>
> memcpy(IEEE80211_SKB_RXCB(p), &rx_status, sizeof(rx_status));
>
> Not sure if that's completely correct but I found another call site for
> brcms_b_mute() that also passed 0 flags.

The bug was caused by this patch:

commit d609909f0d6c69937057237b3eff577311d08d07
Author: Arend van Spriel <[email protected]>
brcm80211: smac: resume transmit fifo upon receiving frames

(mainline: badc4f07622f0f7093a201638f45e85765f1b5e4)

Because it was added to mainline after this patch:

commit c6c44893c864429a7c6a4f7942dfb3ee182b4ad1
Author: Roland Vossen <[email protected]>
brcm80211: smac: fixed inconsistency in transmit mute

Which converted brcms_b_mute() from 3 arguments to 2.

-- Steve


2012-05-16 00:56:56

by Ben Hutchings

[permalink] [raw]
Subject: Re: [PATCH] compile fix for brcm80211 on v3.2.17

On Tue, 2012-05-15 at 14:04 -0500, Clark Williams wrote:
> Ben,
>
> Found this while building v3.2.17-rt28:
>
> diff --git a/drivers/net/wireless/brcm80211/brcmsmac/main.c b/drivers/net/wireless/brcm80211/brcmsmac/main.c
> index f98becc..833cbef 100644
> --- a/drivers/net/wireless/brcm80211/brcmsmac/main.c
> +++ b/drivers/net/wireless/brcm80211/brcmsmac/main.c
> @@ -7879,7 +7879,7 @@ brcms_c_recvctl(struct brcms_c_info *wlc, struct d11rxhdr *rxh,
> if (wlc->hw->suspended_fifos) {
> hdr = (struct ieee80211_hdr *)p->data;
> if (ieee80211_is_beacon(hdr->frame_control))
> - brcms_b_mute(wlc->hw, false);
> + brcms_b_mute(wlc->hw, false, 0);
> }
>
> memcpy(IEEE80211_SKB_RXCB(p), &rx_status, sizeof(rx_status));
>
> Not sure if that's completely correct but I found another call site for
> brcms_b_mute() that also passed 0 flags.

Thanks, but this fix is already in the queue for 3.2.18.

Ben.

--
Ben Hutchings
The two most common things in the universe are hydrogen and stupidity.


Attachments:
signature.asc (828.00 B)
This is a digitally signed message part