]> git.karo-electronics.de Git - karo-tx-linux.git/commitdiff
b43: Reject new firmware early
authorMichael Buesch <mb@bu3sch.de>
Sat, 26 Jan 2008 12:54:52 +0000 (13:54 +0100)
committerGreg Kroah-Hartman <gregkh@suse.de>
Fri, 8 Feb 2008 19:46:29 +0000 (11:46 -0800)
(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

index d5389f3e89df82cd69bb5094f98af396292a2271..69795fd847895614c5acd30a7d95df81ba5e7426 100644 (file)
@@ -1800,6 +1800,18 @@ static int b43_upload_microcode(struct b43_wldev *dev)
                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,