linux-pinenote/drivers/net/wireless/ath/ath9k
Gabor Juhos add295a4af ath9k: use correct OTP register offsets for AR9550
Accessing the OTP memory on AR9950 causes a data bus
like this:

  Data bus error, epc == 801f7774, ra == 801f7774
  Oops[#1]:
  CPU: 0 PID: 1 Comm: swapper Not tainted 3.10.0-rc3 #592
  task: 87c28000 ti: 87c22000 task.ti: 87c22000
  $ 0   : 00000000 00000061 deadc0de 00000000
  $ 4   : b8115f18 00015f18 00000007 00000004
  $ 8   : 00000001 7c7c3c7c 7c7c7c7c 7c7c7c7c
  $12   : 7c7c3c7c 80320a68 00000000 7c7c7c3c
  $16   : 87cd8010 00015f18 00000007 00000000
  $20   : 00000064 00000004 87c23c7c 8035210c
  $24   : 00000000 801f3674
  $28   : 87c22000 87c23b48 00000001 801f7774
  Hi    : 00000000
  Lo    : 00000064
  epc   : 801f7774 ath9k_hw_wait+0x58/0xb0
      Not tainted
  ra    : 801f7774 ath9k_hw_wait+0x58/0xb0
  Status: 1000cc03 KERNEL EXL IE
  Cause : 4080801c
  PrId  : 00019750 (MIPS 74Kc)
  Modules linked in:
  Process swapper (pid: 1, threadinfo=87c22000, task=87c28000, ts=00000000)
  Stack : 0000000f 00000061 00002710 8006240c 00000001 87cd8010 87c23bb0 87cd8010
          00000000 00000004 00000003 80210c7c 000000b3 67fa8000 0000032a 000006fe
          000003e8 00000002 00000028 87c23bf0 000003ff 80210d24 803e5630 80210e28
          00000000 00000007 87cd8010 00007044 00000004 00000061 000003ff 000001ff
          87c26000 87cd8010 00000220 87cd8bb8 80210000 8020fcf4 87c22000 87c23c08
          ...
  Call Trace:
  [<801f7774>] ath9k_hw_wait+0x58/0xb0
  [<80210c7c>] ar9300_otp_read_word+0x80/0xd4
  [<80210d24>] ar9300_read_otp+0x54/0xb0
  [<8020fcf4>] ar9300_check_eeprom_header+0x1c/0x40
  [<80210fe4>] ath9k_hw_ar9300_fill_eeprom+0x118/0x39c
  [<80206650>] ath9k_hw_eeprom_init+0x74/0xb4
  [<801f96d0>] ath9k_hw_init+0x7ec/0x96c
  [<801e65ec>] ath9k_init_device+0x340/0x758
  [<801f35d0>] ath_ahb_probe+0x21c/0x2c0
  [<801c041c>] driver_probe_device+0xc0/0x1e4
  [<801c05ac>] __driver_attach+0x6c/0xa4
  [<801bea08>] bus_for_each_dev+0x64/0xa8
  [<801bfa40>] bus_add_driver+0xcc/0x24c
  [<801c0954>] driver_register+0xbc/0x17c
  [<803f8fc0>] ath9k_init+0x5c/0x88
  [<800608fc>] do_one_initcall+0xec/0x1a0
  [<803e6a68>] kernel_init_freeable+0x13c/0x200
  [<80309cdc>] kernel_init+0x1c/0xe4
  [<80062450>] ret_from_kernel_thread+0x10/0x18

On the AR9550, the OTP registers are located at
the same address as on the AR9340. Use the correct
values to avoid the error.

Cc: stable@vger.kernel.org  # 3.6+
Signed-off-by: Gabor Juhos <juhosg@openwrt.org>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
2013-05-28 13:43:10 -04:00
..
ahb.c ath9k: use the devres API for allocations/mappings 2013-01-07 15:16:51 -05:00
ani.c ath9k_hw: remove a useless WARN_ON 2013-01-22 16:05:32 -05:00
ani.h ath9k_hw: reduce struct ar5416AniState size 2013-01-22 16:05:31 -05:00
antenna.c ath9k: Add a module parameter to enable diversity 2012-09-24 14:59:11 -04:00
ar955x_1p0_initvals.h ath9k_hw: Update initvals for QCA955x 2013-01-09 14:37:11 -05:00
ar5008_initvals.h ath9k: fix column header comments for some initval arrays 2013-01-07 15:16:53 -05:00
ar5008_phy.c ath9k_hw: make various ar5416/ar91xx rf banks const 2013-04-10 14:10:32 -04:00
ar9001_initvals.h ath9k: fix column header comments for some initval arrays 2013-01-07 15:16:53 -05:00
ar9002_calib.c Show actual timeout value in failed calibration messages. 2013-03-27 13:39:08 -04:00
ar9002_hw.c ath9k_hw: make various ar5416/ar91xx rf banks const 2013-04-10 14:10:32 -04:00
ar9002_initvals.h
ar9002_mac.c
ar9002_phy.c ath9k_hw: ar9002_hw_spectral_scan_config() can be static 2013-01-14 15:10:40 -05:00
ar9002_phy.h
ar9003_2p2_initvals.h ath9k_hw: add tx gain tables for newer devices 2013-01-11 14:50:00 -05:00
ar9003_calib.c ath9k_hw: Enable manual peak calibration for AR9485 2013-05-17 14:31:08 -04:00
ar9003_eeprom.c ath9k_hw: Fix fixed antenna for AR9462 2013-03-06 16:28:57 -05:00
ar9003_eeprom.h ath9k: use correct OTP register offsets for AR9550 2013-05-28 13:43:10 -04:00
ar9003_hw.c Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless 2013-01-28 13:54:03 -05:00
ar9003_mac.c ath9k_hw: Handle AR_INTR_SYNC_HOST1_(FATAL|PERR) on AR9003 2012-09-28 13:54:10 -04:00
ar9003_mac.h
ar9003_mci.c ath9k: Fix MCI reset in BT cal_req 2012-11-21 14:16:01 -05:00
ar9003_mci.h ath9k: Add new BT profile info A2DP_Voice 2012-10-29 15:19:30 -04:00
ar9003_paprd.c ath9k_hw: Calculate the correct training power for PAPRD 2012-12-10 15:49:51 -05:00
ar9003_phy.c ath9k_hw: fix spur mitigation issues on AR934x 2013-05-24 12:50:21 -04:00
ar9003_phy.h ath9k_hw: Add TempCompensation feature for AR9550 2013-01-09 14:37:11 -05:00
ar9003_rtt.c
ar9003_rtt.h
ar9330_1p1_initvals.h
ar9330_1p2_initvals.h
ar9340_initvals.h ath9k_hw: add tx gain tables for newer devices 2013-01-11 14:50:00 -05:00
ar9462_2p0_initvals.h ath9k_hw: Update initvals for AR9462 2013-03-06 16:28:56 -05:00
ar9485_initvals.h ath9k_hw: Enable manual peak calibration for AR9485 2013-05-17 14:31:08 -04:00
ar9565_1p0_initvals.h ath9k: Update initvals for AR9565 2013-05-08 17:15:08 -04:00
ar9580_1p0_initvals.h ath9k_hw: change AR9580 initvals to fix a stability issue 2013-04-12 13:22:09 -04:00
ath9k.h ath9k: prevent aggregation session deadlocks 2013-05-22 14:28:44 -04:00
beacon.c mac80211: Use a cfg80211_chan_def in ieee80211_hw_conf_chan 2013-03-25 19:19:35 +01:00
btcoex.c ath9k: stomp audio profiles on weak signal strength 2012-11-21 14:16:01 -05:00
btcoex.h ath9k: stomp audio profiles on weak signal strength 2012-11-21 14:16:01 -05:00
calib.c Merge branch 'for-john' of git://git.kernel.org/pub/scm/linux/kernel/git/jberg/mac80211-next 2013-04-10 14:09:54 -04:00
calib.h ath9k_hw: make various ar5416/ar91xx rf banks const 2013-04-10 14:10:32 -04:00
common.c ath9k_common: remove ath9k_cmn_padpos 2013-04-10 14:10:33 -04:00
common.h ath9k_common: remove ath9k_cmn_padpos 2013-04-10 14:10:33 -04:00
debug.c ath9k: Fix crash on module unload 2013-05-17 14:31:06 -04:00
debug.h ath9k: Fix crash on module unload 2013-05-17 14:31:06 -04:00
dfs.c ath9k: change DFS logging to use ath_dbg() 2013-04-22 15:17:40 -04:00
dfs.h
dfs_debug.c ath9k: add debugfs based DFS radar simulation 2013-04-08 15:28:38 -04:00
dfs_debug.h
dfs_pattern_detector.c Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless 2013-04-23 14:09:39 -04:00
dfs_pattern_detector.h ath9k: change DFS logging to use ath_dbg() 2013-04-22 15:17:40 -04:00
dfs_pri_detector.c Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless 2013-04-23 14:09:39 -04:00
dfs_pri_detector.h ath9k: change DFS logging to use ath_dbg() 2013-04-22 15:17:40 -04:00
eeprom.c ath9k: allow to load EEPROM content via firmware API 2012-12-10 15:49:57 -05:00
eeprom.h ath9k: use 'struct ath_hw *' as the first argument for 'ath9k_hw_nvram_read' 2012-12-10 15:49:56 -05:00
eeprom_4k.c ath9k: use 'struct ath_hw *' as the first argument for 'ath9k_hw_nvram_read' 2012-12-10 15:49:56 -05:00
eeprom_9287.c ath9k: use 'struct ath_hw *' as the first argument for 'ath9k_hw_nvram_read' 2012-12-10 15:49:56 -05:00
eeprom_def.c ath9k: use 'struct ath_hw *' as the first argument for 'ath9k_hw_nvram_read' 2012-12-10 15:49:56 -05:00
gpio.c ath9k/ath9k_htc: Remove WME macros 2012-11-21 14:16:02 -05:00
hif_usb.c ath9k_htc: Add PID/VID for a Ubiquiti WiFiStation 2012-10-24 13:18:08 -04:00
hif_usb.h wireless: ath9k-htc: only load firmware in need 2012-09-07 15:03:36 -04:00
htc.h ath9k_htc: fix signal strength handling issues 2013-02-27 14:12:51 -05:00
htc_drv_beacon.c ath9k_common: remove ath9k_cmn_padpos 2013-04-10 14:10:33 -04:00
htc_drv_debug.c ath9k/ath9k_htc: Remove WME macros 2012-11-21 14:16:02 -05:00
htc_drv_gpio.c ath9k/ath9k_htc: Remove WME macros 2012-11-21 14:16:02 -05:00
htc_drv_init.c ath9k_htc: accept 1.x firmware newer than 1.3 2013-04-08 14:35:03 -04:00
htc_drv_main.c ath9k_common: remove ath9k_cmn_padpos 2013-04-10 14:10:33 -04:00
htc_drv_txrx.c ath9k_common: remove ath9k_cmn_padpos 2013-04-10 14:10:33 -04:00
htc_hst.c ath9k_htc: Fix memory leak 2013-01-11 14:12:01 -05:00
htc_hst.h
hw-ops.h ath9k_hw: use the devres API for allocations 2013-01-07 15:16:51 -05:00
hw.c ath9k_hw: improve performance for AR934x v1.3+ 2013-05-24 12:50:22 -04:00
hw.h ath9k_hw: make various ar5416/ar91xx rf banks const 2013-04-10 14:10:32 -04:00
init.c ath9k: Fix crash on module unload 2013-05-17 14:31:06 -04:00
Kconfig net/wireless: ATH9K should depend on HAS_DMA 2013-05-17 14:31:06 -04:00
link.c Merge branch 'for-john' of git://git.kernel.org/pub/scm/linux/kernel/git/jberg/mac80211-next 2013-04-10 14:09:54 -04:00
mac.c ath9k_hw: improve performance for AR934x v1.3+ 2013-05-24 12:50:22 -04:00
mac.h ath9k: detect more kinds of invalid descriptors 2013-04-10 14:10:33 -04:00
main.c ath9k: prevent aggregation session deadlocks 2013-05-22 14:28:44 -04:00
Makefile
mci.c ath9k: Remove unused variables in ath_mci_cleanup 2013-02-01 14:27:24 -05:00
mci.h ath9k: Add new BT profile info A2DP_Voice 2012-10-29 15:19:30 -04:00
pci.c ath9k: use the devres API for allocations/mappings 2013-01-07 15:16:51 -05:00
phy.h
rc.c ath9k: prevent aggregation session deadlocks 2013-05-22 14:28:44 -04:00
rc.h ath9k: Fix rate control debugging 2012-11-21 14:16:04 -05:00
recv.c ath9k: Fix RX DMA mapping 2013-04-23 14:14:54 -04:00
reg.h ath9k_hw: improve performance for AR934x v1.3+ 2013-05-24 12:50:22 -04:00
wmi.c
wmi.h
wow.c ath9k_hw: Configure new switch table for AR9565 BTCOEX 2012-10-29 15:19:30 -04:00
xmit.c ath9k: prevent aggregation session deadlocks 2013-05-22 14:28:44 -04:00