diff options
author | Sujith Manoharan <c_manoha@qca.qualcomm.com> | 2013-06-21 01:41:52 -0400 |
---|---|---|
committer | John W. Linville <linville@tuxdriver.com> | 2013-06-24 14:44:24 -0400 |
commit | fca3c21d5659f21edbf30a80b706cbc00f368659 (patch) | |
tree | f0b53afc55a160538d92f4c02bdfa3418bedc218 | |
parent | 7258416c517c79b2ebb30b61d8c6807a04dc6b25 (diff) |
ath9k: Enable WoW only for supported models
Since platform support is required for WoW, identify and
and enable Wow only for supported cards.
Signed-off-by: Sujith Manoharan <c_manoha@qca.qualcomm.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
-rw-r--r-- | drivers/net/wireless/ath/ath9k/ath9k.h | 1 | ||||
-rw-r--r-- | drivers/net/wireless/ath/ath9k/init.c | 1 | ||||
-rw-r--r-- | drivers/net/wireless/ath/ath9k/pci.c | 57 |
3 files changed, 59 insertions, 0 deletions
diff --git a/drivers/net/wireless/ath/ath9k/ath9k.h b/drivers/net/wireless/ath/ath9k/ath9k.h index 04b2d3ea728f..c1224b5a257b 100644 --- a/drivers/net/wireless/ath/ath9k/ath9k.h +++ b/drivers/net/wireless/ath/ath9k/ath9k.h | |||
@@ -634,6 +634,7 @@ void ath_ant_comb_update(struct ath_softc *sc); | |||
634 | #define ATH9K_PCI_CUS198 0x0001 | 634 | #define ATH9K_PCI_CUS198 0x0001 |
635 | #define ATH9K_PCI_CUS230 0x0002 | 635 | #define ATH9K_PCI_CUS230 0x0002 |
636 | #define ATH9K_PCI_CUS217 0x0004 | 636 | #define ATH9K_PCI_CUS217 0x0004 |
637 | #define ATH9K_PCI_WOW 0x0008 | ||
637 | 638 | ||
638 | /* | 639 | /* |
639 | * Default cache line size, in bytes. | 640 | * Default cache line size, in bytes. |
diff --git a/drivers/net/wireless/ath/ath9k/init.c b/drivers/net/wireless/ath/ath9k/init.c index 1e555d899469..16f8b201642b 100644 --- a/drivers/net/wireless/ath/ath9k/init.c +++ b/drivers/net/wireless/ath/ath9k/init.c | |||
@@ -837,6 +837,7 @@ void ath9k_set_hw_capab(struct ath_softc *sc, struct ieee80211_hw *hw) | |||
837 | 837 | ||
838 | #ifdef CONFIG_PM_SLEEP | 838 | #ifdef CONFIG_PM_SLEEP |
839 | if ((ah->caps.hw_caps & ATH9K_HW_WOW_DEVICE_CAPABLE) && | 839 | if ((ah->caps.hw_caps & ATH9K_HW_WOW_DEVICE_CAPABLE) && |
840 | (sc->driver_data & ATH9K_PCI_WOW) && | ||
840 | device_can_wakeup(sc->dev)) | 841 | device_can_wakeup(sc->dev)) |
841 | hw->wiphy->wowlan = &ath9k_wowlan_support; | 842 | hw->wiphy->wowlan = &ath9k_wowlan_support; |
842 | 843 | ||
diff --git a/drivers/net/wireless/ath/ath9k/pci.c b/drivers/net/wireless/ath/ath9k/pci.c index b096bb2c28c8..c585c9b35973 100644 --- a/drivers/net/wireless/ath/ath9k/pci.c +++ b/drivers/net/wireless/ath/ath9k/pci.c | |||
@@ -79,6 +79,63 @@ static DEFINE_PCI_DEVICE_TABLE(ath_pci_id_table) = { | |||
79 | 0x6661), | 79 | 0x6661), |
80 | .driver_data = ATH9K_PCI_CUS217 }, | 80 | .driver_data = ATH9K_PCI_CUS217 }, |
81 | 81 | ||
82 | /* AR9462 with WoW support */ | ||
83 | { PCI_DEVICE_SUB(PCI_VENDOR_ID_ATHEROS, | ||
84 | 0x0034, | ||
85 | PCI_VENDOR_ID_ATHEROS, | ||
86 | 0x3117), | ||
87 | .driver_data = ATH9K_PCI_WOW }, | ||
88 | { PCI_DEVICE_SUB(PCI_VENDOR_ID_ATHEROS, | ||
89 | 0x0034, | ||
90 | PCI_VENDOR_ID_LENOVO, | ||
91 | 0x3214), | ||
92 | .driver_data = ATH9K_PCI_WOW }, | ||
93 | { PCI_DEVICE_SUB(PCI_VENDOR_ID_ATHEROS, | ||
94 | 0x0034, | ||
95 | PCI_VENDOR_ID_ATTANSIC, | ||
96 | 0x0091), | ||
97 | .driver_data = ATH9K_PCI_WOW }, | ||
98 | { PCI_DEVICE_SUB(PCI_VENDOR_ID_ATHEROS, | ||
99 | 0x0034, | ||
100 | PCI_VENDOR_ID_AZWAVE, | ||
101 | 0x2110), | ||
102 | .driver_data = ATH9K_PCI_WOW }, | ||
103 | { PCI_DEVICE_SUB(PCI_VENDOR_ID_ATHEROS, | ||
104 | 0x0034, | ||
105 | PCI_VENDOR_ID_ASUSTEK, | ||
106 | 0x850E), | ||
107 | .driver_data = ATH9K_PCI_WOW }, | ||
108 | { PCI_DEVICE_SUB(PCI_VENDOR_ID_ATHEROS, | ||
109 | 0x0034, | ||
110 | 0x11AD, /* LITEON */ | ||
111 | 0x6631), | ||
112 | .driver_data = ATH9K_PCI_WOW }, | ||
113 | { PCI_DEVICE_SUB(PCI_VENDOR_ID_ATHEROS, | ||
114 | 0x0034, | ||
115 | 0x11AD, /* LITEON */ | ||
116 | 0x6641), | ||
117 | .driver_data = ATH9K_PCI_WOW }, | ||
118 | { PCI_DEVICE_SUB(PCI_VENDOR_ID_ATHEROS, | ||
119 | 0x0034, | ||
120 | PCI_VENDOR_ID_HP, | ||
121 | 0x1864), | ||
122 | .driver_data = ATH9K_PCI_WOW }, | ||
123 | { PCI_DEVICE_SUB(PCI_VENDOR_ID_ATHEROS, | ||
124 | 0x0034, | ||
125 | 0x14CD, /* USI */ | ||
126 | 0x0063), | ||
127 | .driver_data = ATH9K_PCI_WOW }, | ||
128 | { PCI_DEVICE_SUB(PCI_VENDOR_ID_ATHEROS, | ||
129 | 0x0034, | ||
130 | 0x14CD, /* USI */ | ||
131 | 0x0064), | ||
132 | .driver_data = ATH9K_PCI_WOW }, | ||
133 | { PCI_DEVICE_SUB(PCI_VENDOR_ID_ATHEROS, | ||
134 | 0x0034, | ||
135 | 0x10CF, /* Fujitsu */ | ||
136 | 0x1783), | ||
137 | .driver_data = ATH9K_PCI_WOW }, | ||
138 | |||
82 | { PCI_VDEVICE(ATHEROS, 0x0034) }, /* PCI-E AR9462 */ | 139 | { PCI_VDEVICE(ATHEROS, 0x0034) }, /* PCI-E AR9462 */ |
83 | { PCI_VDEVICE(ATHEROS, 0x0037) }, /* PCI-E AR1111/AR9485 */ | 140 | { PCI_VDEVICE(ATHEROS, 0x0037) }, /* PCI-E AR1111/AR9485 */ |
84 | { PCI_VDEVICE(ATHEROS, 0x0036) }, /* PCI-E AR9565 */ | 141 | { PCI_VDEVICE(ATHEROS, 0x0036) }, /* PCI-E AR9565 */ |