Gitweb:     
http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=6d7f9877a66a3abe0b04b63d1de4659919e21a92
Commit:     6d7f9877a66a3abe0b04b63d1de4659919e21a92
Parent:     3a84732a5c9758a4bd59088787cac23508ef8b62
Author:     Ivo van Doorn <[EMAIL PROTECTED]>
AuthorDate: Sat Oct 6 14:12:42 2007 +0200
Committer:  David S. Miller <[EMAIL PROTECTED]>
CommitDate: Wed Oct 10 16:55:09 2007 -0700

    [PATCH] rt2x00: Store "STARTED" state during suspend
    
    Store the started state into a new flag DEVICE_STARTED_SUSPEND
    and set this when suspending while the device was started.
    We can't check for is_interface_present() since only mac80211
    knows if there are monitor interfaces present.
    
    Signed-off-by: Ivo van Doorn <[EMAIL PROTECTED]>
    Signed-off-by: John W. Linville <[EMAIL PROTECTED]>
---
 drivers/net/wireless/rt2x00/rt2x00.h    |    1 +
 drivers/net/wireless/rt2x00/rt2x00dev.c |    7 ++++---
 2 files changed, 5 insertions(+), 3 deletions(-)

diff --git a/drivers/net/wireless/rt2x00/rt2x00.h 
b/drivers/net/wireless/rt2x00/rt2x00.h
index 5d30ca6..d280d0e 100644
--- a/drivers/net/wireless/rt2x00/rt2x00.h
+++ b/drivers/net/wireless/rt2x00/rt2x00.h
@@ -508,6 +508,7 @@ struct rt2x00_dev {
 #define CONFIG_EXTERNAL_LNA_BG         13
 #define CONFIG_DOUBLE_ANTENNA          14
 #define CONFIG_DISABLE_LINK_TUNING     15
+#define DEVICE_STARTED_SUSPEND         16
 
        /*
         * Chipset identification.
diff --git a/drivers/net/wireless/rt2x00/rt2x00dev.c 
b/drivers/net/wireless/rt2x00/rt2x00dev.c
index b6a5c34..f254753 100644
--- a/drivers/net/wireless/rt2x00/rt2x00dev.c
+++ b/drivers/net/wireless/rt2x00/rt2x00dev.c
@@ -1088,12 +1088,13 @@ int rt2x00lib_suspend(struct rt2x00_dev *rt2x00dev, 
pm_message_t state)
         */
        if (!test_bit(DEVICE_STARTED, &rt2x00dev->flags))
                goto exit;
+       __set_bit(DEVICE_STARTED_SUSPEND, &rt2x00dev->flags);
 
        /*
         * Disable radio and unitialize all items
         * that must be recreated on resume.
         */
-       rt2x00lib_disable_radio(rt2x00dev);
+       rt2x00mac_stop(rt2x00dev->hw);
        rt2x00lib_uninitialize(rt2x00dev);
        rt2x00debug_deregister(rt2x00dev);
 
@@ -1123,9 +1124,9 @@ int rt2x00lib_resume(struct rt2x00_dev *rt2x00dev)
        rt2x00debug_register(rt2x00dev);
 
        /*
-        * Only continue if mac80211 has open interfaces.
+        * Only continue if mac80211 had open interfaces.
         */
-       if (!test_bit(DEVICE_STARTED, &rt2x00dev->flags))
+       if (!__test_and_clear_bit(DEVICE_STARTED_SUSPEND, &rt2x00dev->flags))
                return 0;
 
        /*
-
To unsubscribe from this list: send the line "unsubscribe git-commits-head" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to