mirror of
https://github.com/AuxXxilium/linux_dsm_epyc7002.git
synced 2024-12-16 06:57:04 +07:00
qede: Fix internal loopback failure with jumbo mtu configuration
Driver uses port-mtu as packet-size for the loopback traffic. This patch limits the max packet size to 1.5K to avoid data being split over multiple buffer descriptors (BDs) in cases where MTU > PAGE_SIZE. Signed-off-by: Sudarsana Reddy Kalluru <skalluru@marvell.com> Signed-off-by: Ariel Elior <aelior@marvell.com> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
parent
43d281662f
commit
b89869da2d
@ -1663,8 +1663,11 @@ static int qede_selftest_run_loopback(struct qede_dev *edev, u32 loopback_mode)
|
||||
/* Wait for loopback configuration to apply */
|
||||
msleep_interruptible(500);
|
||||
|
||||
/* prepare the loopback packet */
|
||||
pkt_size = edev->ndev->mtu + ETH_HLEN;
|
||||
/* Setting max packet size to 1.5K to avoid data being split over
|
||||
* multiple BDs in cases where MTU > PAGE_SIZE.
|
||||
*/
|
||||
pkt_size = (((edev->ndev->mtu < ETH_DATA_LEN) ?
|
||||
edev->ndev->mtu : ETH_DATA_LEN) + ETH_HLEN);
|
||||
|
||||
skb = netdev_alloc_skb(edev->ndev, pkt_size);
|
||||
if (!skb) {
|
||||
|
Loading…
Reference in New Issue
Block a user