mirror of
https://github.com/torvalds/linux.git
synced 2026-05-31 02:24:24 +02:00
Merge branch 'hibmcge-fix-rx-packet-corruption-issue'
Jijie Shao says: ==================== hibmcge: fix RX packet corruption issue This series fixes an RX packet corruption issue observed when SMMU is disabled on the hibmcge driver. The fixes include disabling PCI Relaxed Ordering and correcting the order of DMA barrier operations in the RX data sync path. ==================== Link: https://patch.msgid.link/20260525144525.94884-1-shaojijie@huawei.com Signed-off-by: Paolo Abeni <pabeni@redhat.com>
This commit is contained in:
commit
85576d7a48
|
|
@ -420,6 +420,9 @@ static int hbg_pci_init(struct pci_dev *pdev)
|
|||
return -ENOMEM;
|
||||
|
||||
pci_set_master(pdev);
|
||||
pcie_capability_clear_word(pdev, PCI_EXP_DEVCTL,
|
||||
PCI_EXP_DEVCTL_RELAX_EN);
|
||||
pci_save_state(pdev);
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -452,12 +452,12 @@ static bool hbg_sync_data_from_hw(struct hbg_priv *priv,
|
|||
{
|
||||
struct hbg_rx_desc *rx_desc;
|
||||
|
||||
/* make sure HW write desc complete */
|
||||
dma_rmb();
|
||||
|
||||
dma_sync_single_for_cpu(&priv->pdev->dev, buffer->page_dma,
|
||||
buffer->page_size, DMA_FROM_DEVICE);
|
||||
|
||||
/* make sure HW write desc complete */
|
||||
dma_rmb();
|
||||
|
||||
rx_desc = (struct hbg_rx_desc *)buffer->page_addr;
|
||||
return FIELD_GET(HBG_RX_DESC_W2_PKT_LEN_M, rx_desc->word2) != 0;
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user