diff options
| author | Yingying Tang <yintang@codeaurora.org> | 2017-02-24 17:23:34 +0800 |
|---|---|---|
| committer | qcabuildsw <qcabuildsw@localhost> | 2017-02-28 11:47:32 -0800 |
| commit | a9bddf3ce4f5285865832ad2337d13a478415218 (patch) | |
| tree | ba334144ecea36d5e75af20305c8db61888ac87c | |
| parent | aaa2f5cec7ec1e5a3cd8e989069d6b43ccfdbe64 (diff) | |
qcacld-3.0: Fix wlan driver insmod failure issue
IPA rx2 related resource allocation and setting are under QCA_WIFI_3_0,
but in hdd_ipa_init, the rx2 resource check is not under the flag.
Insmod driver will failed if the flag is disabled. Add fix to resolve
this issue.
Change-Id: I498ca46f3d6b2127467e0cfad892cea570012e19
CRs-Fixed: 2011410
| -rw-r--r-- | core/hdd/src/wlan_hdd_ipa.c | 17 |
1 files changed, 13 insertions, 4 deletions
diff --git a/core/hdd/src/wlan_hdd_ipa.c b/core/hdd/src/wlan_hdd_ipa.c index 869ea2c8eee6..ccd6cf925ba3 100644 --- a/core/hdd/src/wlan_hdd_ipa.c +++ b/core/hdd/src/wlan_hdd_ipa.c @@ -561,10 +561,22 @@ do { \ } while (0) #define HDD_IPA_CHECK_HW() ipa_uc_reg_rdyCB(NULL) + +#define IPA_RESOURCE_READY(ipa_resource) \ + ((0 == (ipa_resource).ce_sr_base_paddr) || \ + (0 == (ipa_resource).tx_comp_ring_base_paddr) || \ + (0 == (ipa_resource).rx_rdy_ring_base_paddr) || \ + (0 == (ipa_resource).rx2_rdy_ring_base_paddr)) #else /* Do nothing */ #define HDD_IPA_WDI2_SET(pipe_in, ipa_ctxt) #define HDD_IPA_CHECK_HW() 0 + +#define IPA_RESOURCE_READY(ipa_resource) \ + ((0 == (ipa_resource).ce_sr_base_paddr) || \ + (0 == (ipa_resource).tx_comp_ring_base_paddr) || \ + (0 == (ipa_resource).rx_rdy_ring_base_paddr)) + #endif /* IPA3 */ #define HDD_IPA_DBG_DUMP_RX_LEN 32 @@ -2659,10 +2671,7 @@ QDF_STATUS hdd_ipa_uc_ol_init(hdd_context_t *hdd_ctx) goto fail_return; } ol_txrx_ipa_uc_get_resource(pdev, &ipa_ctxt->ipa_resource); - if ((ipa_ctxt->ipa_resource.ce_sr_base_paddr == 0) || - (ipa_ctxt->ipa_resource.tx_comp_ring_base_paddr == 0) || - (ipa_ctxt->ipa_resource.rx_rdy_ring_base_paddr == 0) || - (ipa_ctxt->ipa_resource.rx2_rdy_ring_base_paddr == 0)) { + if (IPA_RESOURCE_READY(ipa_ctxt->ipa_resource)) { HDD_IPA_LOG(QDF_TRACE_LEVEL_FATAL, "IPA UC resource alloc fail"); stat = QDF_STATUS_E_FAILURE; |
