From mboxrd@z Thu Jan 1 00:00:00 1970 Return-path: Received: from mail.gmx.net ([213.165.64.20]:35264 "HELO mail.gmx.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with SMTP id S1752177AbZHAWOg (ORCPT ); Sat, 1 Aug 2009 18:14:36 -0400 Message-ID: <4A74BE49.4090909@gmx.de> Date: Sun, 02 Aug 2009 00:14:33 +0200 From: Joerg Albert MIME-Version: 1.0 To: Bob Copeland CC: "linux-wireless@vger.kernel.org" Subject: Re: ath5k: monitor mode needs channel change References: <4A72113F.8000604@gmx.de> <4A73394D.1070200@gmx.de> In-Reply-To: Content-Type: text/plain; charset=ISO-8859-1; format=flowed Sender: linux-wireless-owner@vger.kernel.org List-ID: 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.