| From: Alexandre Oliva <oliva@lsd.ic.unicamp.br> |
| Date: Mon, 16 Jan 2012 14:00:12 -0500 |
| Subject: brcmfmac: work-around gcc 4.7 build issue |
| |
| commit 5addc0de28f5e286f9d121112c4222250807b5a5 upstream. |
| |
| Alexandre Oliva <oliva@lsd.ic.unicamp.br> says: |
| |
| "It's an issue brought about by GCC 4.7's partial-inlining, that ends up |
| splitting the udelay function just at the wrong spot, in such a way that |
| some sanity checks for constants fails, and we end up calling |
| bad_udelay. |
| |
| This patch fixes the problem. Feel free to push it upstream if it makes |
| sense to you." |
| |
| Signed-off-by: John W. Linville <linville@tuxdriver.com> |
| Signed-off-by: Ben Hutchings <ben@decadent.org.uk> |
| --- |
| drivers/net/wireless/brcm80211/brcmfmac/wl_cfg80211.c | 2 +- |
| 1 file changed, 1 insertion(+), 1 deletion(-) |
| |
| --- a/drivers/net/wireless/brcm80211/brcmfmac/wl_cfg80211.c |
| +++ b/drivers/net/wireless/brcm80211/brcmfmac/wl_cfg80211.c |
| @@ -2465,7 +2465,7 @@ static s32 brcmf_init_iscan(struct brcmf |
| return err; |
| } |
| |
| -static void brcmf_delay(u32 ms) |
| +static __always_inline void brcmf_delay(u32 ms) |
| { |
| if (ms < 1000 / HZ) { |
| cond_resched(); |