The current version of the bcm43xx-softmac driver scans 14 channels, even though channels greater
than 11 are not permitted in the US and Canada. Similarly only channels 1-13 are allowed in Europe.
AFAIK, channel 14 is only allowed in Japan. The attached patch uses the value in bcm->sprom.locale
to set the maximum channel according to the guidelines. This patch is drawn against the 060215 snapshot.
Signed-Off-By: Larry Finger <[EMAIL PROTECTED]>
diff -ur a/drivers/net/wireless/bcm43xx/bcm43xx_main.h
b/drivers/net/wireless/bcm43xx/bcm43xx_main.h
--- a/drivers/net/wireless/bcm43xx/bcm43xx_main.h 2006-02-13
23:06:22.000000000 -0600
+++ b/drivers/net/wireless/bcm43xx/bcm43xx_main.h 2006-02-15
00:05:51.000000000 -0600
@@ -230,15 +230,7 @@
int bcm43xx_is_valid_channel(struct bcm43xx_private *bcm,
u8 channel)
{
- if (bcm->current_core->phy->type == BCM43xx_PHYTYPE_A) {
- if (channel <= 200)
- return 1;
- } else {
- if (channel >= 1 && channel <= 14)
- return 1;
- }
-
- return 0;
+ return ieee80211_is_valid_channel(bcm->ieee,channel);
}
void bcm43xx_tsf_read(struct bcm43xx_private *bcm, u64 *tsf);