ath9k: Fix issues with WoW enable
authorSujith Manoharan <c_manoha@qca.qualcomm.com>
Mon, 2 Feb 2015 12:51:10 +0000 (18:21 +0530)
committerKalle Valo <kvalo@codeaurora.org>
Fri, 6 Feb 2015 06:39:26 +0000 (08:39 +0200)
commitbb6313140b3c8356cf36675a8edbf6782dc6c3d0
treee49581d79905c11f30619437ea280d9f0d599b2e
parente68e9c10fbe0d4e49732783aae534ba0a328887f
ath9k: Fix issues with WoW enable

This patch addresses several issues with the
ath9k_hw_wow_enable() routine:

* The usage of set/clr variables is removed. Writing
  the required values to registers is cleaner.

* The shift value of 28 for the contention window field
  in AR_WOW_PATTERN is incorrect, change it to 27.

* Disabling Keep Alive needs to be done based on the
  LINK_CHANGE option. This is done unconditionally now,
  fix this.

* The workaround for the D1/D3 issue is required only
  for AR9462.

* The bitfield for enabling pattern matching for packets
  less than 256 bytes has expanded for new chips, handle
  this accordingly.

* General cleanup.

Signed-off-by: Sujith Manoharan <c_manoha@qca.qualcomm.com>
Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
drivers/net/wireless/ath/ath9k/ar9003_wow.c
drivers/net/wireless/ath/ath9k/hw.h
drivers/net/wireless/ath/ath9k/reg_wow.h