ath10k: fix QCA61X4 boot up
authorBartosz Markowski <bartosz.markowski@tieto.com>
Fri, 3 Jul 2015 13:33:49 +0000 (15:33 +0200)
committerKalle Valo <kvalo@qca.qualcomm.com>
Sat, 11 Jul 2015 16:06:15 +0000 (19:06 +0300)
commit a521ee983d312db7 ("ath10k: Add new reg_address/mask to hw register
table") broke QCA61x4 support by providing wrong
fw_indicator_address, which should have been 0x0003a028 instead of 0x00009028.

User experience was a failing boot up sequence (crashing device during
initialization):

[  181.663874] ath10k_pci 0000:02:00.0: enabling device (0000 -> 0002)
[  181.664787] ath10k_pci 0000:02:00.0: pci irq msi-x interrupts 8 irq_mode 0 reset_mode 0
[  181.688886] ath10k_pci 0000:02:00.0: device has crashed during init
[  181.688897] ath10k_pci 0000:02:00.0: failed to wait for target after cold reset: -70
[  181.688902] ath10k_pci 0000:02:00.0: failed to reset chip: -70
[  181.689774] ath10k_pci: probe of 0000:02:00.0 failed with error -70

Fix it by updating the address with correct value.

Fixes: a521ee983d31 ("ath10k: Add new reg_address/mask to hw register table")
Signed-off-by: Bartosz Markowski <bartosz.markowski@tieto.com>
Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
drivers/net/wireless/ath/ath10k/hw.c

index 1414e1f..fef7ccf 100644 (file)
@@ -63,7 +63,7 @@ const struct ath10k_hw_regs qca6174_regs = {
        .soc_reset_control_ce_rst_mask          = 0x00000001,
        .soc_chip_id_address                    = 0x000000f0,
        .scratch_3_address                      = 0x00000028,
-       .fw_indicator_address                   = 0x00009028,
+       .fw_indicator_address                   = 0x0003a028,
        .pcie_local_base_address                = 0x00080000,
        .ce_wrap_intr_sum_host_msi_lsb          = 0x00000008,
        .ce_wrap_intr_sum_host_msi_mask         = 0x0000ff00,