|
@@ -15,6 +15,7 @@
|
|
|
*/
|
|
|
|
|
|
#include <linux/slab.h>
|
|
|
+#include <linux/pm_qos_params.h>
|
|
|
|
|
|
#include "ath9k.h"
|
|
|
|
|
@@ -179,6 +180,8 @@ static const struct ath_ops ath9k_common_ops = {
|
|
|
.write = ath9k_iowrite32,
|
|
|
};
|
|
|
|
|
|
+struct pm_qos_request_list ath9k_pm_qos_req;
|
|
|
+
|
|
|
/**************************/
|
|
|
/* Initialization */
|
|
|
/**************************/
|
|
@@ -756,6 +759,9 @@ int ath9k_init_device(u16 devid, struct ath_softc *sc, u16 subsysid,
|
|
|
ath_init_leds(sc);
|
|
|
ath_start_rfkill_poll(sc);
|
|
|
|
|
|
+ pm_qos_add_request(&ath9k_pm_qos_req, PM_QOS_CPU_DMA_LATENCY,
|
|
|
+ PM_QOS_DEFAULT_VALUE);
|
|
|
+
|
|
|
return 0;
|
|
|
|
|
|
error_world:
|
|
@@ -811,6 +817,8 @@ void ath9k_deinit_device(struct ath_softc *sc)
|
|
|
|
|
|
ath9k_ps_wakeup(sc);
|
|
|
|
|
|
+ pm_qos_remove_request(&ath9k_pm_qos_req);
|
|
|
+
|
|
|
wiphy_rfkill_stop_polling(sc->hw->wiphy);
|
|
|
ath_deinit_leds(sc);
|
|
|
|