mirror of
https://github.com/BobTheBlinker/android_kernel_motorola_sm6375.git
synced 2026-10-14 08:36:12 -04:00
Revert "qcacld-3.0: Fix WDI 1.0 MCC TX SMMU unmap"
This reverts change I7d04e9b01fbd973601ee9e4e74c6bf4dd3d0f7bb This patchset is causing wlan_ipa_nbuf_cb to be called even when ipa_ctx is null. wlan_ipa_nbuf_cb should not be called for non-IPA packets. Also there should be a NULL check for ipa_ctx in the function. Reverting the change may lead to SMMU errors during AP-AP MCC mode. CRs-Fixed: 2352812 Change-Id: I2f2382ca12a14a09ed124ccd18a7f450282c5975
This commit is contained in:
parent
438679cdc1
commit
c908646fa9
3 changed files with 7 additions and 24 deletions
|
|
@ -285,14 +285,6 @@ static void wlan_ipa_send_pkt_to_tl(
|
|||
} else {
|
||||
ipa_ctx->stats.num_tx_desc_error++;
|
||||
qdf_spin_unlock_bh(&ipa_ctx->q_lock);
|
||||
|
||||
if (qdf_mem_smmu_s1_enabled(osdev)) {
|
||||
if (wlan_ipa_uc_sta_is_enabled(ipa_ctx->config))
|
||||
qdf_nbuf_mapped_paddr_set(skb, paddr);
|
||||
|
||||
qdf_nbuf_unmap(osdev, skb, QDF_DMA_TO_DEVICE);
|
||||
}
|
||||
|
||||
qdf_ipa_free_skb(ipa_tx_desc);
|
||||
wlan_ipa_wdi_rm_try_release(ipa_ctx);
|
||||
return;
|
||||
|
|
@ -1211,28 +1203,12 @@ static void wlan_ipa_nbuf_cb(qdf_nbuf_t skb)
|
|||
qdf_ipa_rx_data_t *ipa_tx_desc;
|
||||
struct wlan_ipa_tx_desc *tx_desc;
|
||||
uint16_t id;
|
||||
struct wlan_objmgr_pdev *pdev = ipa_ctx->pdev;
|
||||
struct wlan_objmgr_psoc *psoc = wlan_pdev_get_psoc(pdev);
|
||||
qdf_device_t osdev = wlan_psoc_get_qdf_dev(psoc);
|
||||
|
||||
if (!qdf_nbuf_ipa_owned_get(skb)) {
|
||||
dev_kfree_skb_any(skb);
|
||||
return;
|
||||
}
|
||||
|
||||
if (osdev && qdf_mem_smmu_s1_enabled(osdev)) {
|
||||
if (wlan_ipa_uc_sta_is_enabled(ipa_ctx->config)) {
|
||||
qdf_dma_addr_t paddr = QDF_NBUF_CB_PADDR(skb);
|
||||
|
||||
qdf_nbuf_mapped_paddr_set(skb,
|
||||
paddr -
|
||||
WLAN_IPA_WLAN_FRAG_HEADER -
|
||||
WLAN_IPA_WLAN_IPA_HEADER);
|
||||
}
|
||||
|
||||
qdf_nbuf_unmap(osdev, skb, QDF_DMA_TO_DEVICE);
|
||||
}
|
||||
|
||||
/* Get Tx desc pointer from SKB CB */
|
||||
id = QDF_NBUF_CB_TX_IPA_PRIV(skb);
|
||||
tx_desc = &ipa_ctx->tx_desc_pool[id];
|
||||
|
|
|
|||
|
|
@ -796,6 +796,9 @@ void ol_tx_desc_frame_list_free(struct ol_txrx_pdev_t *pdev,
|
|||
if (!qdf_nbuf_ipa_owned_get(msdu))
|
||||
qdf_nbuf_unmap(pdev->osdev, msdu,
|
||||
QDF_DMA_TO_DEVICE);
|
||||
else if (qdf_mem_smmu_s1_enabled(pdev->osdev))
|
||||
qdf_nbuf_unmap(pdev->osdev, msdu,
|
||||
QDF_DMA_TO_DEVICE);
|
||||
}
|
||||
|
||||
/* free the tx desc */
|
||||
|
|
|
|||
|
|
@ -134,6 +134,10 @@ void ol_txrx_vdev_flush(struct cdp_vdev *pvdev)
|
|||
qdf_nbuf_unmap(vdev->pdev->osdev,
|
||||
vdev->ll_pause.txq.head,
|
||||
QDF_DMA_TO_DEVICE);
|
||||
else if (qdf_mem_smmu_s1_enabled(vdev->pdev->osdev))
|
||||
qdf_nbuf_unmap(vdev->pdev->osdev,
|
||||
vdev->ll_pause.txq.head,
|
||||
QDF_DMA_TO_DEVICE);
|
||||
}
|
||||
qdf_nbuf_tx_free(vdev->ll_pause.txq.head,
|
||||
QDF_NBUF_PKT_ERROR);
|
||||
|
|
|
|||
Loading…
Reference in a new issue