On Friday 28 October 2011 06:45 PM, Kalle Valo wrote:
On 10/25/2011 01:37 PM, rmani@xxxxxxxxxxxxxxxx wrote:
From: Raja Mani<rmani@xxxxxxxxxxxxxxxx>
Link ath6kl's wow suspend/resume functions with the callback functions
registered with the CFG layer for suspend and resume operation.
[..]
--- a/drivers/net/wireless/ath/ath6kl/cfg80211.c
+++ b/drivers/net/wireless/ath/ath6kl/cfg80211.c
@@ -1606,6 +1606,19 @@ static int ar6k_cfg80211_suspend(struct wiphy *wiphy,
struct cfg80211_wowlan *wow)
{
struct ath6kl *ar = wiphy_priv(wiphy);
+ int ret;
+
+ if (wow&& ath6kl_cfg80211_ready(ar)&&
+ test_bit(CONNECTED,&ar->flag)&&
+ ath6kl_hif_keep_pwr_caps(ar)) {
+
+ /* Flush all non control pkts in Tx path */
+ ath6kl_tx_data_cleanup(ar);
+
+ ret = ath6kl_pm_wow_suspend(ar, wow);
+ if (ret)
+ return ret;
+ }
This is now confusing. Some of the suspend logic is now in sdio.c and
some here. It's better to have everything in one place, that is in
sdio.c. We just need to add an interface so that sdio.c can request the
correct suspend mode.
Do you want me to keep ath6kl_pm_wow_suspend() implementation in
cfg80211.c file and move only above code to ath6kl_sdio_suspend() ?
Kalle
--
To unsubscribe from this list: send the line "unsubscribe linux-wireless" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html