On Wed, 2016-01-20 at 17:16 +0530, skallam wrote: > From: Siva Reddy Kallam <siva.kal...@broadcom.com> > > There is an issue on the GSO path inside tg3_tso_bug() when we don't > have sufficient descriptors available, we stop the queue. This queue > may never get started again as there are no Tx completions pending. > > For example if the tcp segment size is as low as 88 bytes and TSO packet > from the stack is quite big(<64 K), gso_segs exceeds the limit of > descriptors available. > > tg3_tso_bug_gso_check() is implemented to verify if the total no. of > descriptors available for gso are sufficient or not. If not sufficient > we simply linearize the the skb and transmit it once again or drop the > skb.
I find this changelog misleading. linearize wont change gso_segs You are in fact segmenting the GSO packet, which is very different than linearizing it.