Skip to content

Commit 4bd451f

Browse files
Dimitri DaskalakisPaolo Abeni
authored andcommitted
net: fbnic: Fix page chunking logic when PAGE_SIZE > 4K
The HW always works on a 4K page size. When the OS supports larger pages, we fragment them across multiple BDQ descriptors. We were not properly incrementing the descriptor, which resulted in us specifying the last chunks id/addr and then 15 zero descriptors. This would cause packet loss and driver crashes. This is not a fix since the Kconfig prevents use outside of x86. Signed-off-by: Dimitri Daskalakis <[email protected]> Signed-off-by: Jakub Kicinski <[email protected]> Reviewed-by: Simon Horman <[email protected]> Link: https://patch.msgid.link/[email protected] Signed-off-by: Paolo Abeni <[email protected]>
1 parent cb85ca4 commit 4bd451f

File tree

1 file changed

+1
-0
lines changed

1 file changed

+1
-0
lines changed

drivers/net/ethernet/meta/fbnic/fbnic_txrx.c

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -887,6 +887,7 @@ static void fbnic_bd_prep(struct fbnic_ring *bdq, u16 id, netmem_ref netmem)
887887
*bdq_desc = cpu_to_le64(bd);
888888
bd += FIELD_PREP(FBNIC_BD_DESC_ADDR_MASK, 1) |
889889
FIELD_PREP(FBNIC_BD_DESC_ID_MASK, 1);
890+
bdq_desc++;
890891
} while (--i);
891892
}
892893

0 commit comments

Comments
 (0)