mirror of
https://github.com/BobTheBlinker/android_kernel_motorola_sm6375.git
synced 2026-10-14 08:36:12 -04:00
qcacmn: fix pcie card enable issue without CNSS module
For 3rd party platform, without CNSS module, PCIe card failed to enable. Function hif_pci_enable_bus() should call hif_enable_pci_nopld(), not hif_enable_pci_pld(). So, checking platform driver supported or not before enable bus. If platform driver is not supported, return false in function hif_is_pld_based_target(). CRs-Fixed: 2439335 Change-Id: I57a1272f082e7ba1fbeee43d58a81997f3d0e6d7
This commit is contained in:
parent
63705259d2
commit
5936495779
1 changed files with 6 additions and 2 deletions
|
|
@ -3638,8 +3638,12 @@ static void hif_pci_get_soc_info_nopld(struct hif_pci_softc *sc,
|
|||
struct device *dev)
|
||||
{}
|
||||
|
||||
static bool hif_is_pld_based_target(int device_id)
|
||||
static bool hif_is_pld_based_target(struct hif_pci_softc *sc,
|
||||
int device_id)
|
||||
{
|
||||
if (!pld_have_platform_driver_support(sc->dev))
|
||||
return false;
|
||||
|
||||
switch (device_id) {
|
||||
case QCA6290_DEVICE_ID:
|
||||
case QCA6290_EMULATION_DEVICE_ID:
|
||||
|
|
@ -3656,7 +3660,7 @@ static bool hif_is_pld_based_target(int device_id)
|
|||
static void hif_pci_init_deinit_ops_attach(struct hif_pci_softc *sc,
|
||||
int device_id)
|
||||
{
|
||||
if (hif_is_pld_based_target(device_id)) {
|
||||
if (hif_is_pld_based_target(sc, device_id)) {
|
||||
sc->hif_enable_pci = hif_enable_pci_pld;
|
||||
sc->hif_pci_deinit = hif_pci_deinit_pld;
|
||||
sc->hif_pci_get_soc_info = hif_pci_get_soc_info_pld;
|
||||
|
|
|
|||
Loading…
Reference in a new issue