1. 29 5月, 2013 1 次提交
    • G
      ath9k: use correct OTP register offsets for AR9550 · add295a4
      Gabor Juhos 提交于
      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: NGabor Juhos <juhosg@openwrt.org>
      Signed-off-by: NJohn W. Linville <linville@tuxdriver.com>
      add295a4
  2. 11 12月, 2012 1 次提交
    • G
      ath9k: ar9003: fix OTP register offsets for AR9340 · b3cd8021
      Gabor Juhos 提交于
      Trying to access the OTP memory on the AR9340
      causes a data bus error like this:
      
        Data bus error, epc == 86e84164, ra == 86e84164
        Oops[#1]:
        Cpu 0
        $ 0   : 00000000 00000061 deadc0de 00000000
        $ 4   : b8115f18 00015f18 00000007 00000004
        $ 8   : 00000001 7c7c3c7c 7c7c7c7c 7c7c7c7c
        $12   : 7c7c3c7c 001f0041 00000000 7c7c7c3c
        $16   : 86ee0000 00015f18 00000000 00000007
        $20   : 00000004 00000064 00000004 86d71c44
        $24   : 00000000 86e6ca00
        $28   : 86d70000 86d71b20 86ece0c0 86e84164
        Hi    : 00000000
        Lo    : 00000064
        epc   : 86e84164 ath9k_hw_wait+0x58/0xb0 [ath9k_hw]
            Tainted: G           O
        ra    : 86e84164 ath9k_hw_wait+0x58/0xb0 [ath9k_hw]
        Status: 1100d403    KERNEL EXL IE
        Cause : 4080801c
        PrId  : 0001974c (MIPS 74Kc)
        Modules linked in: ath9k(O+) ath9k_common(O) ath9k_hw(O) ath(O) ar934x_nfc
        mac80211(O) usbcore usb_common scsi_mod nls_base nand nand_ecc nand_ids
        crc_ccitt cfg80211(O) compat(O) arc4 aes_generic crypto_blkcipher cryptomgr
        aead crypto_hash crypto_algapi ledtrig_timer ledtrig_default_on leds_gpio
        Process insmod (pid: 459, threadinfo=86d70000, task=87942140, tls=779ac440)
        Stack : 802fb500 000200da 804db150 804e0000 87816130 86ee0000 00010000 86d71b88
                86d71bc0 00000004 00000003 86e9fcd0 80305300 0002c0d0 86e74c50 800b4c20
                000003e8 00000001 00000000 86ee0000 000003ff 86e9fd64 80305300 80123938
                fffffffc 00000004 000058bc 00000000 86ea0000 86ee0000 000001ff 878d6000
                99999999 86e9fdc0 86ee0fcc 86e9e664 0000c0d0 86ee0000 0000700000007000
                ...
        Call Trace:
        [<86e84164>] ath9k_hw_wait+0x58/0xb0 [ath9k_hw]
        [<86e9fcd0>] ath9k_hw_setup_statusring+0x16b8/0x1c7c [ath9k_hw]
      
        Code: 0000a812  0040f809  00000000 <00531024> 1054000b  24020001  0c05b5dc  2404000a  26520001
      
      The cause of the error is that the OTP register
      offsets are different on the AR9340 than the
      actually used values.
      
      Cc: <stable@vger.kernel.org> # 3.0+
      Signed-off-by: NGabor Juhos <juhosg@openwrt.org>
      Signed-off-by: NJohn W. Linville <linville@tuxdriver.com>
      b3cd8021
  3. 12 9月, 2012 1 次提交
  4. 18 7月, 2012 1 次提交
  5. 30 5月, 2012 1 次提交
  6. 18 4月, 2012 1 次提交
  7. 12 11月, 2011 1 次提交
  8. 17 9月, 2011 1 次提交
  9. 20 5月, 2011 1 次提交
  10. 17 12月, 2010 1 次提交
  11. 14 12月, 2010 2 次提交
  12. 08 12月, 2010 2 次提交
  13. 03 12月, 2010 1 次提交
  14. 18 11月, 2010 1 次提交
  15. 17 11月, 2010 1 次提交
  16. 15 6月, 2010 1 次提交
  17. 13 5月, 2010 1 次提交
  18. 28 4月, 2010 1 次提交
  19. 17 4月, 2010 2 次提交