> -----Original Message----- > From: LKML haiyangz <lkmlhyz@xxxxxxxxxxxxx> On Behalf Of Haiyang Zhang > Sent: Friday, February 4, 2022 5:46 PM > To: linux-hyperv@xxxxxxxxxxxxxxx; netdev@xxxxxxxxxxxxxxx > Cc: Haiyang Zhang <haiyangz@xxxxxxxxxxxxx>; Dexuan Cui <decui@xxxxxxxxxxxxx>; KY > Srinivasan <kys@xxxxxxxxxxxxx>; Stephen Hemminger <sthemmin@xxxxxxxxxxxxx>; Paul Rosswurm > <paulros@xxxxxxxxxxxxx>; Shachar Raindel <shacharr@xxxxxxxxxxxxx>; olaf@xxxxxxxxx; > vkuznets <vkuznets@xxxxxxxxxx>; davem@xxxxxxxxxxxxx; linux-kernel@xxxxxxxxxxxxxxx > Subject: [PATCH net-next, 1/2] net: mana: Add handling of CQE_RX_TRUNCATED > > The proper way to drop this kind of CQE is advancing rxq tail > without indicating the packet to the upper network layer. > > Signed-off-by: Haiyang Zhang <haiyangz@xxxxxxxxxxxxx> > --- > drivers/net/ethernet/microsoft/mana/mana_en.c | 7 +++++-- > 1 file changed, 5 insertions(+), 2 deletions(-) > > diff --git a/drivers/net/ethernet/microsoft/mana/mana_en.c > b/drivers/net/ethernet/microsoft/mana/mana_en.c > index 69e791e6abc4..d2481a500654 100644 > --- a/drivers/net/ethernet/microsoft/mana/mana_en.c > +++ b/drivers/net/ethernet/microsoft/mana/mana_en.c > @@ -1085,8 +1085,10 @@ static void mana_process_rx_cqe(struct mana_rxq *rxq, struct > mana_cq *cq, > break; > > case CQE_RX_TRUNCATED: > - netdev_err(ndev, "Dropped a truncated packet\n"); > - return; > + ++ndev->stats.rx_dropped; > + rxbuf_oob = &rxq->rx_oobs[rxq->buf_index]; > + netdev_warn_once(ndev, "Dropped a truncated packet\n"); > + goto drop; > > case CQE_RX_COALESCED_4: > netdev_err(ndev, "RX coalescing is unsupported\n"); > @@ -1154,6 +1156,7 @@ static void mana_process_rx_cqe(struct mana_rxq *rxq, struct mana_cq > *cq, > > mana_rx_skb(old_buf, oob, rxq); > > +drop: > mana_move_wq_tail(rxq->gdma_rq, rxbuf_oob->wqe_inf.wqe_size_in_bu); > > mana_post_pkt_rxq(rxq); > -- To netdev maintainers: Since the proper handling of CQE_RX_TRUNCATED type is important, could any of you backport this patch to the stable branches: 5.16 & 5.15? Thanks, - Haiyang