* @net: the network namespace this wiphy currently lives in
  * @netnsok: if set to false, do not allow changing the netns of this
  *     wiphy at all
+ * @ps_default: default for powersave, will be set depending on the
+ *     kernel's default on wiphy_new(), but can be changed by the
+ *     driver if it has a good reason to override the default
  */
 struct wiphy {
        /* assign these fields before you register the wiphy */
        bool disable_beacon_hints;
 
        bool netnsok;
+       bool ps_default;
 
        enum cfg80211_signal_type signal_type;
 
 
        rdev->wiphy.dev.class = &ieee80211_class;
        rdev->wiphy.dev.platform_data = rdev;
 
+       rdev->wiphy.ps_default = CONFIG_CFG80211_DEFAULT_PS_VALUE;
+
        wiphy_net_set(&rdev->wiphy, &init_net);
 
        rdev->rfkill_ops.set_block = cfg80211_rfkill_set_block;
                wdev->wext.default_key = -1;
                wdev->wext.default_mgmt_key = -1;
                wdev->wext.connect.auth_type = NL80211_AUTHTYPE_AUTOMATIC;
-               wdev->wext.ps = CONFIG_CFG80211_DEFAULT_PS_VALUE;
+               wdev->wext.ps = wdev->wiphy->ps_default;
                wdev->wext.ps_timeout = 100;
                if (rdev->ops->set_power_mgmt)
                        if (rdev->ops->set_power_mgmt(wdev->wiphy, dev,