On 2011-01-09 9:51 AM, Rajkumar Manoharan wrote:
The commit "ath9k: Add change_interface callback" is
failed to set hw opmode while changing interface type
on runtime. Not setting opmode fails to generate
beacons on changing to AP mode.
Cc: stable@xxxxxxxxxx
Cc: Jouni Malinen<Jouni.Malinen@xxxxxxxxxxx>
Signed-off-by: Rajkumar Manoharan<rmanoharan@xxxxxxxxxxx>
---
drivers/net/wireless/ath/ath9k/beacon.c | 1 +
drivers/net/wireless/ath/ath9k/main.c | 4 ++++
2 files changed, 5 insertions(+), 0 deletions(-)
I'm really not convinced that this is enough. How about implementing
proper code for recalculating ah->opmode and doing hw resets when
necessary, instead of adding more band-aids that can only deal with
having only one interface. This patch really only fixes a few visible
parts of the problem, but in the details the ath9k_change_interface
callback still somewhat broken.
I think since not only ah->opmode matters, but also various other things
that conditionally enable/disable ANI, various flags in ah->imask, etc.
it would probably be best to merge most of the code of .add_interface,
.remove_interface and .change_interface into one function that iterates
over all active interfaces and calculates all the mode dependent
parameters. The way things are done right now is just too fragile.
- Felix
--
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