]> git.baikalelectronics.ru Git - kernel.git/commit
be2net: fix a Tx stall bug caused by a specific ipv6 packet
authorAjit Khaparde <ajit.khaparde@emulex.com>
Wed, 24 Apr 2013 11:52:50 +0000 (11:52 +0000)
committerDavid S. Miller <davem@davemloft.net>
Wed, 24 Apr 2013 23:37:21 +0000 (19:37 -0400)
commita9c776688b6017bdb57f464aed67501f4b436269
treebd0a657ebd43dcb8e342a8831f9151be300f37c1
parentc13155b84cd9fa0640b0d6b921a4d300bc2748dd
be2net: fix a Tx stall bug caused by a specific ipv6 packet

The ASIC could lockup in the transmit path when it tries
to insert VLAN in a specific ipv6 packet.
1) Identify the packet which can cause this.
2) Check if the firmware provides a workaround to prevent this.
3) If workaround is not present, drop the packet.
4) If the firmware provides a workaround, insert the VLAN tag in the
packet and inform the firmware to skip further VLAN insertions.

Signed-off-by: Ajit Khaparde <ajit.khaparde@emulex.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/ethernet/emulex/benet/be.h
drivers/net/ethernet/emulex/benet/be_cmds.c
drivers/net/ethernet/emulex/benet/be_cmds.h
drivers/net/ethernet/emulex/benet/be_main.c