]> git.baikalelectronics.ru Git - kernel.git/commit
libertas: disable functionality when interface is down
authorDaniel Drake <dsd@laptop.org>
Mon, 1 Aug 2011 15:43:13 +0000 (16:43 +0100)
committerJohn W. Linville <linville@tuxdriver.com>
Tue, 9 Aug 2011 19:52:02 +0000 (15:52 -0400)
commit8b0d880982c16a74f308de45f8f1f3a940a436c2
treeaf286b83e34688202d7a2345b3900a42a547a043
parented6113b9b8feccddebea06014360cc1756d8f6f6
libertas: disable functionality when interface is down

Modify the driver so that it does not function when the interface is
down, in preparation for runtime power management.

No commands can be run while the interface is down, so the ndo_dev_stop
routine now directly does all necessary work (including asking the device
to disconnect from the network and disabling multicast functionality)
directly.

power_save and power_restore hooks are added meaning that card drivers
can take steps to turn the device off when the interface is down.

The MAC address can now only be changed when all interfaces are down;
the new address will be programmed when an interface gets brought up.
This matches mac80211 behaviour.

Also, some small cleanups/simplifications were made in the surrounding
device handling logic.

Signed-off-by: Daniel Drake <dsd@laptop.org>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
drivers/net/wireless/libertas/cfg.c
drivers/net/wireless/libertas/cfg.h
drivers/net/wireless/libertas/cmd.c
drivers/net/wireless/libertas/decl.h
drivers/net/wireless/libertas/dev.h
drivers/net/wireless/libertas/if_usb.c
drivers/net/wireless/libertas/main.c
drivers/net/wireless/libertas/mesh.c