wl12xx: avoid redundant join on interface reconfiguration
authorEliad Peller <eliad@wizery.com>
Tue, 5 Apr 2011 16:13:28 +0000 (19:13 +0300)
committerLuciano Coelho <coelho@ti.com>
Mon, 2 May 2011 07:25:57 +0000 (10:25 +0300)
commit30df14d0d35dd166d50b8ea80d5f0b7ef1edb6da
tree1c7929f02ec89ff84cc0712967dc2783bef5b146
parenta20a5b7e48e24c1bf9c10ba27cb1862f8f777d00
wl12xx: avoid redundant join on interface reconfiguration

ieee80211_reconfig() sets most of the "changed" flags regardless
of the actual change (e.g. BSS_CHANGED_ASSOC will be set even if
the interface is still not associated). in this case the driver
will issue some unneeded commands.

Since the driver relies solely on the BSS_CHANGED_ASSOC flag,
without checking if there was an actual change, it will end up
issuing unjoin() and dummy_join() commands, although it was
never associated and should just remain idle.

Avoid it by checking the actual state change, in addition to the
"changed" flag.

(there seem to be more redundant configuration commands being
issued, but they shouldn't harm)

Signed-off-by: Eliad Peller <eliad@wizery.com>
Signed-off-by: Luciano Coelho <coelho@ti.com>
drivers/net/wireless/wl12xx/main.c