Skip to content

Commit e75fda6

Browse files
Karthikeyan Periyasamykvalo
authored andcommitted
Revert "wifi: ath12k: use ATH12K_PCI_IRQ_DP_OFFSET for DP IRQ"
This reverts commit 1f1f7d5. The commit caused bootup failure on QCN9274 hw2.0 platform. Incorrect hardcode DP irq offset overwrite the CE irq, which caused the driver to miss the mandatory bootup message from the firmware through the CE interrupt. This occurs because the CE count differs between platforms. The revert has no impact since the original change was based on an incorrect assumption. Log: ath12k_pci 0000:06:00.0: fw_version 0x1011001d fw_build_timestamp 2022-12-02 01:16 fw_build_id QC_IMAGE_VERSION_STRING=WLAN.WBE.1.0.1-00029-QCAHKSWPL_SILICONZ-1 ath12k_pci 0000:06:00.0: failed to receive control response completion, polling.. ath12k_pci 0000:06:00.0: Service connect timeout ath12k_pci 0000:06:00.0: failed to connect to HTT: -110 ath12k_pci 0000:06:00.0: failed to start core: -110 Tested-on: QCN9274 hw2.0 PCI WLAN.WBE.1.0.1-00029-QCAHKSWPL_SILICONZ-1 Tested-on: WCN7850 hw2.0 PCI WLAN.HMT.1.0-03427-QCAHMTSWPL_V1.0_V2.0_SILICONZ-1.15378.4 Signed-off-by: Karthikeyan Periyasamy <[email protected]> Acked-by: Jeff Johnson <[email protected]> Signed-off-by: Kalle Valo <[email protected]> Link: https://msgid.link/[email protected]
1 parent 4fadce8 commit e75fda6

File tree

1 file changed

+4
-4
lines changed
  • drivers/net/wireless/ath/ath12k

1 file changed

+4
-4
lines changed

drivers/net/wireless/ath/ath12k/pci.c

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -17,8 +17,7 @@
1717
#define ATH12K_PCI_BAR_NUM 0
1818
#define ATH12K_PCI_DMA_MASK 32
1919

20-
#define ATH12K_PCI_IRQ_CE0_OFFSET 3
21-
#define ATH12K_PCI_IRQ_DP_OFFSET 14
20+
#define ATH12K_PCI_IRQ_CE0_OFFSET 3
2221

2322
#define WINDOW_ENABLE_BIT 0x40000000
2423
#define WINDOW_REG_ADDRESS 0x310c
@@ -559,8 +558,9 @@ static int ath12k_pci_ext_irq_config(struct ath12k_base *ab)
559558
{
560559
struct ath12k_pci *ab_pci = ath12k_pci_priv(ab);
561560
int i, j, ret, num_vectors = 0;
562-
u32 user_base_data = 0, base_vector = 0;
561+
u32 user_base_data = 0, base_vector = 0, base_idx;
563562

563+
base_idx = ATH12K_PCI_IRQ_CE0_OFFSET + CE_COUNT_MAX;
564564
ret = ath12k_pci_get_user_msi_assignment(ab, "DP",
565565
&num_vectors,
566566
&user_base_data,
@@ -589,7 +589,7 @@ static int ath12k_pci_ext_irq_config(struct ath12k_base *ab)
589589
}
590590

591591
irq_grp->num_irq = num_irq;
592-
irq_grp->irqs[0] = ATH12K_PCI_IRQ_DP_OFFSET + i;
592+
irq_grp->irqs[0] = base_idx + i;
593593

594594
for (j = 0; j < irq_grp->num_irq; j++) {
595595
int irq_idx = irq_grp->irqs[j];

0 commit comments

Comments
 (0)