2009-11-24 00:42:31

by Larry Finger

[permalink] [raw]
Subject: [PATCH] b43legacy: Fix problem for PPC architecture noted in Red Hat Bugzilla #538523

For PPC architecture with PHY Revision < 3, a read of the register
B43_MMIO_HWENABLED_LO will cause a CPU fault unless b43legacy_status()
returns a value of 2 (B43legacy_STAT_STARTED); however, one finds that
the driver is unable to associate after resuming from hibernation unless
this routine returns 1. To satisfy both conditions, the routine is rewritten
to return TRUE whenever b43legacy_status() returns a value < 2.

This patch fixes the second problem listed in the postings for Red Hat
Bugzilla #538523.

Signed-off-by: Larry Finger <[email protected]>
Cc: Stable <[email protected]>
---

John,

This is 2.6.32 material.

Larry
---

Index: wireless-testing/drivers/net/wireless/b43legacy/rfkill.c
===================================================================
--- wireless-testing.orig/drivers/net/wireless/b43legacy/rfkill.c
+++ wireless-testing/drivers/net/wireless/b43legacy/rfkill.c
@@ -34,6 +34,13 @@ bool b43legacy_is_hw_radio_enabled(struc
& B43legacy_MMIO_RADIO_HWENABLED_HI_MASK))
return 1;
} else {
+ /* To prevent CPU fault on PPC, do not read a register
+ * unless the interface is started; however, on resume
+ * for hibernation, this routine is entered early. When
+ * that happens, unconditionally return TRUE.
+ */
+ if (b43legacy_status(dev) < B43legacy_STAT_STARTED)
+ return 1;
if (b43legacy_read16(dev, B43legacy_MMIO_RADIO_HWENABLED_LO)
& B43legacy_MMIO_RADIO_HWENABLED_LO_MASK)
return 1;


2009-11-24 05:37:47

by Peter Lemenkov

[permalink] [raw]
Subject: Re: [PATCH] b43legacy: Fix problem for PPC architecture noted in Red Hat Bugzilla #538523

Hello All!

2009/11/24 Larry Finger <[email protected]>:
> For PPC architecture with PHY Revision < 3, a read of the register
> B43_MMIO_HWENABLED_LO will cause a CPU fault unless b43legacy_status()
> returns a value of 2 (B43legacy_STAT_STARTED); however, one finds that
> the driver is unable to associate after resuming from hibernation unless
> this routine returns 1. To satisfy both conditions, the routine is rewritten
> to return TRUE whenever b43legacy_status() returns a value < 2.
>
> This patch fixes the second problem listed in the postings for Red Hat
> Bugzilla #538523.
>
> Signed-off-by: Larry Finger <[email protected]>
> Cc: Stable <[email protected]>

Seems that b43 has similar issue(s):

https://bugzilla.redhat.com/show_bug.cgi?id=539267

--
With best regards, Peter Lemenkov.

2009-11-24 05:49:23

by Larry Finger

[permalink] [raw]
Subject: Re: [PATCH] b43legacy: Fix problem for PPC architecture noted in Red Hat Bugzilla #538523

On 11/23/2009 11:37 PM, Peter Lemenkov wrote:
>
> Seems that b43 has similar issue(s):
>
> https://bugzilla.redhat.com/show_bug.cgi?id=539267
>

That one has already been addressed by mainline commit no.
d50bae33d1358b909ade05ae, and sent on to stable.

Thanks for the notification,

Larry