From: skallam <siva.kal...@broadcom.com>
Date: Wed,  3 Feb 2016 14:09:38 +0530

> From: Siva Reddy Kallam <siva.kal...@broadcom.com>
> 
> tg3_tso_bug() can hit a condition where the entire tx ring is not big
> enough to segment the GSO packet. For example, if MSS is very small,
> gso_segs can exceed the tx ring size. When we hit the condition, it
> will cause tx timeout.
> 
> tg3_tso_bug() is called to handle TSO and DMA hardware bugs.
> For TSO bugs, if tg3_tso_bug() cannot succeed, we have to drop the packet.
> For DMA bugs, we can still fall back to linearize the SKB and let the
> hardware transmit the TSO packet.
> 
> This patch adds a function tg3_tso_bug_gso_check() to check if there
> are enough tx descriptors for GSO before calling tg3_tso_bug().
> The caller will then handle the error appropriately - drop or
> lineraize the SKB.
> 
> v2: Corrected patch description to avoid confusion.
> 
> Signed-off-by: Siva Reddy Kallam <siva.kal...@broadcom.com>
> Signed-off-by: Michael Chan <mc...@broadcom.com>
> Acked-by: Prashant Sreedharan <prash...@broadcom.com>

Applied and queued up for -stable.

Thanks.

Reply via email to