提交 6d7f9877 编写于 作者: I Ivo van Doorn 提交者: David S. Miller

[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: NIvo van Doorn <IvDoorn@gmail.com>
Signed-off-by: NJohn W. Linville <linville@tuxdriver.com>
上级 3a84732a
...@@ -508,6 +508,7 @@ struct rt2x00_dev { ...@@ -508,6 +508,7 @@ struct rt2x00_dev {
#define CONFIG_EXTERNAL_LNA_BG 13 #define CONFIG_EXTERNAL_LNA_BG 13
#define CONFIG_DOUBLE_ANTENNA 14 #define CONFIG_DOUBLE_ANTENNA 14
#define CONFIG_DISABLE_LINK_TUNING 15 #define CONFIG_DISABLE_LINK_TUNING 15
#define DEVICE_STARTED_SUSPEND 16
/* /*
* Chipset identification. * Chipset identification.
......
...@@ -1088,12 +1088,13 @@ int rt2x00lib_suspend(struct rt2x00_dev *rt2x00dev, pm_message_t state) ...@@ -1088,12 +1088,13 @@ int rt2x00lib_suspend(struct rt2x00_dev *rt2x00dev, pm_message_t state)
*/ */
if (!test_bit(DEVICE_STARTED, &rt2x00dev->flags)) if (!test_bit(DEVICE_STARTED, &rt2x00dev->flags))
goto exit; goto exit;
__set_bit(DEVICE_STARTED_SUSPEND, &rt2x00dev->flags);
/* /*
* Disable radio and unitialize all items * Disable radio and unitialize all items
* that must be recreated on resume. * that must be recreated on resume.
*/ */
rt2x00lib_disable_radio(rt2x00dev); rt2x00mac_stop(rt2x00dev->hw);
rt2x00lib_uninitialize(rt2x00dev); rt2x00lib_uninitialize(rt2x00dev);
rt2x00debug_deregister(rt2x00dev); rt2x00debug_deregister(rt2x00dev);
...@@ -1123,9 +1124,9 @@ int rt2x00lib_resume(struct rt2x00_dev *rt2x00dev) ...@@ -1123,9 +1124,9 @@ int rt2x00lib_resume(struct rt2x00_dev *rt2x00dev)
rt2x00debug_register(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; return 0;
/* /*
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册