Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit a428249d authored by Michal Kazior's avatar Michal Kazior Committed by Kalle Valo
Browse files

ath10k: re-disable interrupts after target init



If MSI isn't configured device ROM program expects
legacy interrupts to be enabled before it can
fully boot. Don't forget to disable legacy
interrupts after that.

While at it re-use the legacy irq enabling helper
instead of calling ath10k_pci_write32().

Signed-off-by: default avatarMichal Kazior <michal.kazior@tieto.com>
Signed-off-by: default avatarKalle Valo <kvalo@qca.qualcomm.com>
parent 7d9d5587
Loading
Loading
Loading
Loading
+3 −4
Original line number Diff line number Diff line
@@ -2279,14 +2279,13 @@ static int ath10k_pci_wait_for_target_init(struct ath10k *ar)

		if (ar_pci->num_msi_intrs == 0)
			/* Fix potential race by repeating CORE_BASE writes */
			ath10k_pci_write32(ar, SOC_CORE_BASE_ADDRESS +
					   PCIE_INTR_ENABLE_ADDRESS,
					   PCIE_INTR_FIRMWARE_MASK |
					   PCIE_INTR_CE_MASK_ALL);
			ath10k_pci_enable_legacy_irq(ar);

		mdelay(10);
	} while (time_before(jiffies, timeout));

	ath10k_pci_disable_and_clear_legacy_irq(ar);

	if (val == 0xffffffff) {
		ath10k_err(ar, "failed to read device register, device is gone\n");
		return -EIO;