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
Este commit está contenido en:
Yu Ouyang
2019-04-22 15:04:54 +08:00
cometido por nshrivas
padre 63705259d2
commit 5936495779

Ver fichero

@@ -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;