On 07/31/2009 08:40 PM, Bob Copeland wrote:
Hmm, well, probably a ath5k_reset() in add_interface would do the trick. Maybe there's some wrong assumption about when configure_filter() is called.
Adding ath5k_reset() to the end of ath5k_add_interface didn't help. Seems like in the case of ifconfig wlan0 down iwconfig wlan0 mode monitor channel 1 ifconfig wlan0 up ath5k_chan_set() is called by ath5k_config() with sc->curchan == chan and it doesn't call ath5k_reset() - which I guess is needed to activate the new hw rx_filter. ath5k_config() gets parameter changed == 0xffffffff, i.e. CONF_CHANGE_CHANNEL is flagged. With the following iwconfig wlan0 channel 2 ath_chan_set() gets called with sc->curchan->center_freq != chan->center_freq and ath5k_reset() is invoked. Patch follows. Regards, Joerg. -- To unsubscribe from this list: send the line "unsubscribe linux-wireless" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html