Hello!
I'm trying to implement WDS support in ath5k, but I have found that the
kernel would panic when I bring the interface up:
modprobe ath5k
iwconfig wlan0 mode repeater
iw dev wlan0 set peer 00:01:02:03:04:05
ifconfig wlan0 up
There are many stack traces, but the first one comes from WARN_ON in
rate_lowest_index(). I think it should really be BUG_ON (patch
submitted separately), as returning an invalid index will surely lead to
memory corruption.
I tried WDS with ath9k and found that it doesn't crash the kernel if
CONFIG_ATH9K_RATE_CONTROL is set. However, if that setting is off in
.config, I would get the same crash.
It appears that rate_control_rate_init() is called in
ieee80211_do_open() too early. I think there should be some set on the
rates assumed to be available on the WDS link for the given channel.
Alternatively, the WDS interface should not be able to emit packets
until either the rates are set manually with iw or they come from a
beacon send by the peer. The rate control algorithms should be able to
deal with it.
--
Regards,
Pavel Roskin
--
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