On 08/02/2009 05:20 AM, Bob Copeland wrote:
On Sun, Aug 02, 2009 at 12:33:26AM +0200, Joerg Albert wrote:
Let ath5k_chan_set() call ath5k_reset() if ath5k_config() was told
that the channel changed. This fixes the bug that we don't
get any packets in monitor mode after:
Cool, thanks for the patch. Just a couple of comments:
+ int chan_changed);
Should use bool for that.
- ret = ath5k_chan_set(sc, conf->channel);
+ ret = ath5k_chan_set(sc, conf->channel,
+ changed & IEEE80211_CONF_CHANGE_CHANNEL);
Since this is the only place ath5k_chan_set is called, how about changing
ath5k_chan_set to unconditionally do a reset, and put the test outside?
i.e.:
if (changed & IEEE80211_CONF_CHANGE_CHANNEL)
ath5k_chan_set(sc, conf->channel);
Good idea. I'll redo the patch.
BTW, it assumes that IEEE80211_CONF_CHANGE_CHANNEL is set even if only chan->hw_value has changed,
e.g. by switching from A to TurboA on the same channel. AFAIK TurboX isn't currently supported by ath5k.
Regards,
Jörg.
--
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