summaryrefslogtreecommitdiff
path: root/net/wireless/sysfs.c
diff options
context:
space:
mode:
Diffstat (limited to 'net/wireless/sysfs.c')
-rw-r--r--net/wireless/sysfs.c25
1 files changed, 5 insertions, 20 deletions
diff --git a/net/wireless/sysfs.c b/net/wireless/sysfs.c
index 9cee0220665d..0178de1fc9aa 100644
--- a/net/wireless/sysfs.c
+++ b/net/wireless/sysfs.c
@@ -87,14 +87,6 @@ static int wiphy_uevent(struct device *dev, struct kobj_uevent_env *env)
}
#ifdef CONFIG_PM_SLEEP
-static void cfg80211_leave_all(struct cfg80211_registered_device *rdev)
-{
- struct wireless_dev *wdev;
-
- list_for_each_entry(wdev, &rdev->wdev_list, list)
- cfg80211_leave(rdev, wdev);
-}
-
static int wiphy_suspend(struct device *dev)
{
struct cfg80211_registered_device *rdev = dev_to_rdev(dev);
@@ -102,19 +94,12 @@ static int wiphy_suspend(struct device *dev)
rdev->suspend_at = get_seconds();
- rtnl_lock();
- if (rdev->wiphy.registered) {
- if (!rdev->wiphy.wowlan_config)
- cfg80211_leave_all(rdev);
- if (rdev->ops->suspend)
- ret = rdev_suspend(rdev, rdev->wiphy.wowlan_config);
- if (ret == 1) {
- /* Driver refuse to configure wowlan */
- cfg80211_leave_all(rdev);
- ret = rdev_suspend(rdev, NULL);
- }
+ if (rdev->ops->suspend) {
+ rtnl_lock();
+ if (rdev->wiphy.registered)
+ ret = rdev_suspend(rdev);
+ rtnl_unlock();
}
- rtnl_unlock();
return ret;
}