X-Git-Url: https://git.openpandora.org/cgi-bin/gitweb.cgi?p=pandora-kernel.git;a=blobdiff_plain;f=drivers%2Fnet%2Fwireless%2Fwl1251%2Fmain.c;h=e7f1818ad29e94b38ee4eb15ea0cdc1988c9c5e8;hp=42b8df58da317ce8d833c747cf67a4a176decbf8;hb=7e0d48a08c817b34136922a3ec7238df90996226;hpb=c89834e2333414c0f4c63bd9b215091fc02deda9 diff --git a/drivers/net/wireless/wl1251/main.c b/drivers/net/wireless/wl1251/main.c index 42b8df58da31..e7f1818ad29e 100644 --- a/drivers/net/wireless/wl1251/main.c +++ b/drivers/net/wireless/wl1251/main.c @@ -43,6 +43,13 @@ #include "debugfs.h" #include "boot.h" +static bool use_fw_ps = true; +module_param(use_fw_ps, bool, 0644); +MODULE_PARM_DESC(use_fw_ps, "Enable powersave once and leave it for chip's " + "firmware to manage. When disabled, mac80211 " + "will toggle powersave on tx activity instead. " + "Default: y/Y/1"); + void wl1251_enable_interrupts(struct wl1251 *wl) { wl->if_ops->enable_irq(wl); @@ -1596,11 +1603,13 @@ int wl1251_init_ieee80211(struct wl1251 *wl) wl->hw->flags = IEEE80211_HW_SIGNAL_DBM | IEEE80211_HW_SUPPORTS_PS | - IEEE80211_HW_SUPPORTS_DYNAMIC_PS | IEEE80211_HW_BEACON_FILTER | IEEE80211_HW_SUPPORTS_UAPSD | IEEE80211_HW_SUPPORTS_CQM_RSSI; + if (use_fw_ps) + wl->hw->flags |= IEEE80211_HW_SUPPORTS_DYNAMIC_PS; + wl->hw->wiphy->interface_modes = BIT(NL80211_IFTYPE_STATION) | BIT(NL80211_IFTYPE_ADHOC); wl->hw->wiphy->max_scan_ssids = 1;