Skip to contentSkip to conversation

b43: Reject new firmware early

PATCH In review Michael Buesch 2 participants 4 messages Jan 26, 2008 – Feb 7, 2008

lore
Share & tools
lore
#0 lore raw

PATCH 1/1 b43: Reject new firmware early

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.

drivers/net/wireless/b43/main.c +12 -0
Index: linux-2.6.24/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,
#1 lore raw
Quoted 8 lines · Michael Buesch

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.

I don't see this in Linus's tree yet, can you please resend it to [email protected] when it gets there?

thanks,

greg k-h

#2 lore raw
In reply to Michael Buesch
Quoted 8 lines · Michael Buesch

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.

Oh wait, I see why it's not in Linus's tree, it doesn't pertain :)

I'll queue this up, sorry for the noise.

greg k-h

#3 lore raw
Quoted 8 lines · On Thursday 07 February 2008 08:26:24 Greg KH wrote:
Quoted 7 lines · Michael Buesch

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.

Quoted 5 lines
Quoted 1 line

Oh wait, I see why it's not in Linus's tree, it doesn't pertain :)

I'll queue this up, sorry for the noise.

Yeah, Linus' tree does have support for this firmware revision we are rejecting with this patch. :) This patch was lost in the 2.6.24 release cycle, so I'd like to push it through -stable to confuse users less with strange warnings caused by using wrong firmware. This patch doesn't remove any functionality or something, it simply transforms a blowing up firmware into a nice error message. :)

Signature · 1 line
Greetings Michael.