wifi: ath11k: move pci.ops registration ahead
authorBaochen Qiang <quic_bqiang@quicinc.com>
Tue, 9 Jan 2024 02:13:35 +0000 (10:13 +0800)
committerKalle Valo <quic_kvalo@quicinc.com>
Thu, 15 Feb 2024 11:23:50 +0000 (13:23 +0200)
commit515bcdf587f9911f2d5de51524cb7e048d295052
tree13ba81d9607fd9f734cf4a481debb9e1f57158b2
parent24395ec117076216c78d0874d9d44f62ba1f9747
wifi: ath11k: move pci.ops registration ahead

In ath11k_pci_probe() there is a switch statement that, based
upon the PCI device ID, assigns pci_ops. After the switch,
ath11k_pcic_register_pci_ops() is called to register the pci_ops.

Unfortunately, this registration is too late if any of the cases
in the switch need to perform operations that require the pci_ops
to already be registered. In particular, an upcoming patch for
QCA2066 needs to call ath11k_pcic_read32().

To address this issue, call ath11k_pcic_register_pci_ops() from
each case instead of doing so after the switch. That way the ops
will be registered if any subsequent operations within the case
processing require the ops to be present.

Tested-on: WCN6855 hw2.1 PCI WLAN.HSP.1.1-03125-QCAHSPSWPL_V1_V2_SILICONZ_LITE-3

Signed-off-by: Baochen Qiang <quic_bqiang@quicinc.com>
Signed-off-by: Kalle Valo <quic_kvalo@quicinc.com>
Link: https://msgid.link/20240109021336.4143-2-quic_bqiang@quicinc.com
drivers/net/wireless/ath/ath11k/pci.c