]> www.infradead.org Git - users/jedix/linux-maple.git/commit
be2net: Fix a UE caused by passing large frames to the ASIC
authorajit.khaparde@broadcom.com <ajit.khaparde@broadcom.com>
Mon, 22 Feb 2016 19:05:01 +0000 (00:35 +0530)
committerChuck Anderson <chuck.anderson@oracle.com>
Fri, 8 Jul 2016 01:50:19 +0000 (18:50 -0700)
commitf5d1b698c54b3afe50a1c2cf9ec91581760cd815
tree49411ca502c8418507fb8d6cebe056e187509bf8
parent5cc758daaf8a6dccbcfc5253503efbfaee36a0c4
be2net: Fix a UE caused by passing large frames to the ASIC

In QnQ configurations like Flex-10 where the VLANs are inserted by the
ASIC, on rare occasions the HW is encountering a scenario where the
final frame length ends to be greater than what the ASIC can support.

This is because when the TXULP pulls the TX WRB to check the length
of the frame to be transmitted it also adds the size of VLANs to be
inserted by the HW to the length of the frame indicated in the WRB,
which in some cases fails the range check.  This causes a UE.

Avoid this by trimming the skb length to accommodate the VLAN insertion.

Signed-off-by: Ajit Khaparde <ajit.khaparde@broadcom.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Signed-off-by: suresh.reddy <suresh.reddy@broadcom.com>
Orabug: 23641442
Signed-off-by: Manjunath Govindashetty <manjunath.govindashetty@oracle.com>
drivers/net/ethernet/emulex/benet/be.h
drivers/net/ethernet/emulex/benet/be_main.c