[patch 39/45] b43: Reject new firmware early

Greg KH
2008-02-07T21:11:44Z

[-- Attachment #1: b43-reject-new-firmware-early.patch --]
[-- Type: text/plain, Size: 1493 bytes --]

2.6.24-stable review patch. If anyone has any objections, please let us know.

------------------
From: Michael Buesch <mb@bu3sch.de>

(not in mainline, as it is not applicable.)

We must reject new incompatible firmware early to avoid
running into strange transmission failures.

The current development tree supports newer firmware revisions.
These revisions cause strange failures on the stable 2.6.24 kernel.
Add a check to avoid confusing users a lot.

Signed-off-by: Michael Buesch <mb@bu3sch.de>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>

---
drivers/net/wireless/b43/main.c | 12 ++++++++++++
1 file changed, 12 insertions(+)

--- a/drivers/net/wireless/b43/main.c
+++ b/drivers/net/wireless/b43/main.c
@@ -1800,6 +1800,18 @@ static int b43_upload_microcode(struct b
err = -EOPNOTSUPP;
goto out;
}
+ if (fwrev > 351) {
+ b43err(dev->wl, "YOUR FIRMWARE IS TOO NEW. Please downgrade your "
+ "firmware.\n");
+ b43err(dev->wl, "Use this firmware tarball: "
+ "http://downloads.openwrt.org/sources/broadcom-wl-4.80.53.0.tar.bz2\n");
+ b43err(dev->wl, "Use this b43-fwcutter tarball: "
+ "http://bu3sch.de/b43/fwcutter/b43-fwcutter-009.tar.bz2\n");
+ b43err(dev->wl, "Read, understand and _do_ what this message says, please.\n");
+ b43_write32(dev, B43_MMIO_MACCTL, 0);
+ err = -EOPNOTSUPP;
+ goto out;
+ }
b43dbg(dev->wl, "Loading firmware version %u.%u "
"(20%.2i-%.2i-%.2i %.2i:%.2i:%.2i)\n",
fwrev, fwpatch,

--