]> www.infradead.org Git - users/jedix/linux-maple.git/commit
bnx2x: fix panic when TX ring is full
authorEric Dumazet <edumazet@google.com>
Wed, 13 Jun 2012 09:45:16 +0000 (09:45 +0000)
committerJoe Jin <joe.jin@oracle.com>
Wed, 29 Aug 2012 00:22:04 +0000 (08:22 +0800)
commit7d051b4916f9dcaac28c25e89f442f5f6d07a1c1
treee589c89a14b6293a92300082c2c45df32ec7602a
parent565433c5a5725834db562edb1bda75654d218e32
bnx2x: fix panic when TX ring is full

There is a off by one error in the minimal number of BD in
bnx2x_start_xmit() and bnx2x_tx_int() before stopping/resuming tx queue.

A full size GSO packet, with data included in skb->head really needs
(MAX_SKB_FRAGS + 4) BDs, because of bnx2x_tx_split()

This error triggers if BQL is disabled and heavy TCP transmit traffic
occurs.

bnx2x_tx_split() definitely can be called, remove a wrong comment.

Reported-by: Tomas Hruby <thruby@google.com>
(cherry picked from commit bc14786a100cc6a81cd060e8031ec481241b418c)
Signed-off-by: Eric Dumazet <edumazet@google.com>
Cc: Eilon Greenstein <eilong@broadcom.com>
Cc: Yaniv Rosner <yanivr@broadcom.com>
Cc: Merav Sicron <meravs@broadcom.com>
Cc: Tom Herbert <therbert@google.com>
Cc: Robert Evans <evansr@google.com>
Cc: Willem de Bruijn <willemb@google.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Joe Jin <joe.jin@oracle.com>
drivers/net/bnx2x/bnx2x_cmn.c