On Tue, 2008-10-14 at 04:10 +0200, Christian Lamparter wrote: > Alright, your eeprom says that your card is technically 802.11a capable. > It has the right MAC (ISL3890 Duette) and a 5GHz Phy/Synth/RF (whatever it's called). > > but unfortunatly, it doesn't provide any calibration data... > And that's the problem here. Since without it, p54_set_freq can't put the card into 802.11a > and the card stays at the last selected channel (somewhere in the 2.4GHz spectrum!). > However after p54_config returns with -EINVAL, mac80211 doesn't revert dev->conf.channel > back to the original 2.4GHz setting... Heh, so this actually helped catch a problem, nice. > with your card still listening on 802.11bg channels, it could capture a beacon, or something else > that is transmitted with 1MBit (hdr->rate = 0) and crash. > note: hdr->rate is a u8. so: 0 - 4 = 0xfc and (0xfc & 0xf) = 0xc => 12 > > so, I guess we have to do two things... > 1. check if calibration data includes 5GHz channels AND if it has the Phy/Synth/RF. > 2. cache dev->conf.channel locally in the driver. Just (1) as your patch did seems fine to me, then mac80211 will not attempt to go to the other channels. johannes
Attachment:
signature.asc
Description: This is a digitally signed message part