]> git.ipfire.org Git - thirdparty/kernel/linux.git/commit
Merge branch 'fix-mana-rx-with-bounce-buffering'
authorPaolo Abeni <pabeni@redhat.com>
Thu, 9 Jul 2026 08:36:14 +0000 (10:36 +0200)
committerPaolo Abeni <pabeni@redhat.com>
Thu, 9 Jul 2026 08:36:15 +0000 (10:36 +0200)
commitc26c33e632248b334ccf132bc8c4877522c3db95
treec9e8da1ecae2640b4a8e55b82428d239ac99b0cc
parentf4ef35efbb49527293309f668ea73ec5de9b8e7a
parentc72a0f09c57f92113df69f9b902d11c9e4b132f5
Merge branch 'fix-mana-rx-with-bounce-buffering'

Dexuan Cui says:

====================
Fix MANA RX with bounce buffering

With swiotlb=force, the MANA NIC fails to work properly due to commit
730ff06d3f5c ("net: mana: Use page pool fragments for RX buffers instead
of full pages to improve memory efficiency.").

This happens because, with the standard MTU=1500, the aforementioned
commit uses page pool frags with PP_FLAG_DMA_MAP, but fails to call
page_pool_dma_sync_for_cpu() to sync the received packet for CPU acces
before handing the RX buffer to the stack.

Here patch #2 adds the required page_pool_dma_sync_for_cpu().

Patch #1 validates the packet length reported by the NIC. With patch #2,
page_pool_dma_sync_for_cpu() uses the packet length, so we don't want
to blindly trust the packet length, just in case.

There is no change between v2 and v3.
v3 just swaps the order of the 2 patches in v2, as suggested by Simon [3].

References:
[1] v1: https://lore.kernel.org/netdev/20260618035029.249361-1-decui@microsoft.com/
[2] v2: https://lore.kernel.org/netdev/20260624222605.1794719-1-decui@microsoft.com/
[3] https://lore.kernel.org/netdev/20260626145048.GB1310988@horms.kernel.org/
====================

Link: https://patch.msgid.link/20260702041237.617719-1-decui@microsoft.com
Signed-off-by: Paolo Abeni <pabeni@redhat.com>