public inbox for netdev@vger.kernel.org 
 help / color / mirror / Atom feed
From: Mark Lord <mlord-e+AXbWqSrlAAvxtiuMwx3w@public•gmane.org>
To: Greg Kroah-Hartman
	<gregkh-hQyY1W1yCW8ekmWlsbkhG0B+6BGkLq7r@public•gmane.org>,
	Sarah Sharp
	<sarah.a.sharp-VuQAYsv1563Yd54FQh9/CA@public•gmane.org>
Cc: linux-usb-u79uwXL29TY76Z2rM5mHXA@public•gmane.org,
	David Laight
	<David.Laight-ZS65k/vG3HxXrIkS9f7CXA@public•gmane.org>,
	netdev-u79uwXL29TY76Z2rM5mHXA@public•gmane.org
Subject: Re: [GIT PULL] xhci: Regression fix for 3.13.
Date: Fri, 06 Dec 2013 00:55:23 -0500	[thread overview]
Message-ID: <52A166CB.4020508@pobox.com> (raw)
In-Reply-To: <20131202214205.GA26175-U8xfFu+wG4EAvxtiuMwx3w@public.gmane.org>

[-- Attachment #1: Type: text/plain, Size: 2032 bytes --]

On 13-12-02 04:42 PM, Greg Kroah-Hartman wrote:
> On Mon, Dec 02, 2013 at 12:49:08PM -0800, Sarah Sharp wrote:
>> The following changes since commit c24cb6c8b501ebdf1aacec7960110a9741a45ced:
>>
>>   Merge tag 'fixes-for-v3.13-rc2' of git://git.kernel.org/pub/scm/linux/kernel/git/balbi/usb into usb-linus (2013-11-27 09:49:03 -0800)
>>
>> are available in the git repository at:
>>
>>
>>   git://git.kernel.org/pub/scm/linux/kernel/git/sarah/xhci.git tags/for-usb-linus-2013-12-02
> 
> Pulled and pushed out, thanks.

Did this commit make it into linux-3.12.3 ?

I ask, because the NIC still locks up with that kernel,
and even with the patch I had been using from David Laight.

Reverting the change that originally broke it still works though.
Could we please get this reverted until such time as a reworked
patch can be prepared for it?

This is what I am reverting locally to make it all work
as it did prior to linux-3.12 was released.  Unmangled copy also attached:

--- linux/drivers/net/usb/ax88179_178a.c.orig	2013-11-03 18:41:51.000000000 -0500
+++ linux/drivers/net/usb/ax88179_178a.c	2013-11-17 13:23:39.525734277 -0500
@@ -1177,18 +1177,31 @@
 	int frame_size = dev->maxpacket;
 	int mss = skb_shinfo(skb)->gso_size;
 	int headroom;
+	int tailroom;

 	tx_hdr1 = skb->len;
 	tx_hdr2 = mss;
 	if (((skb->len + 8) % frame_size) == 0)
 		tx_hdr2 |= 0x80008000;	/* Enable padding */

-	headroom = skb_headroom(skb) - 8;
+	headroom = skb_headroom(skb);
+	tailroom = skb_tailroom(skb);

-	if ((skb_header_cloned(skb) || headroom < 0) &&
-	    pskb_expand_head(skb, headroom < 0 ? 8 : 0, 0, GFP_ATOMIC)) {
+	if (!skb_header_cloned(skb) &&
+	    !skb_cloned(skb) &&
+	    (headroom + tailroom) >= 8) {
+		if (headroom < 8) {
+			skb->data = memmove(skb->head + 8, skb->data, skb->len);
+			skb_set_tail_pointer(skb, skb->len);
+		}
+	} else {
+		struct sk_buff *skb2;
+
+		skb2 = skb_copy_expand(skb, 8, 0, flags);
 		dev_kfree_skb_any(skb);
-		return NULL;
+		skb = skb2;
+		if (!skb)
+			return NULL;
 	}

 	skb_push(skb, 4);

[-- Attachment #2: 51_ax88179_178a_revert_3.12_lockups.patch --]
[-- Type: text/x-patch, Size: 1063 bytes --]

--- linux/drivers/net/usb/ax88179_178a.c.orig	2013-11-03 18:41:51.000000000 -0500
+++ linux/drivers/net/usb/ax88179_178a.c	2013-11-17 13:23:39.525734277 -0500
@@ -1177,18 +1177,31 @@
 	int frame_size = dev->maxpacket;
 	int mss = skb_shinfo(skb)->gso_size;
 	int headroom;
+	int tailroom;
 
 	tx_hdr1 = skb->len;
 	tx_hdr2 = mss;
 	if (((skb->len + 8) % frame_size) == 0)
 		tx_hdr2 |= 0x80008000;	/* Enable padding */
 
-	headroom = skb_headroom(skb) - 8;
+	headroom = skb_headroom(skb);
+	tailroom = skb_tailroom(skb);
 
-	if ((skb_header_cloned(skb) || headroom < 0) &&
-	    pskb_expand_head(skb, headroom < 0 ? 8 : 0, 0, GFP_ATOMIC)) {
+	if (!skb_header_cloned(skb) &&
+	    !skb_cloned(skb) &&
+	    (headroom + tailroom) >= 8) {
+		if (headroom < 8) {
+			skb->data = memmove(skb->head + 8, skb->data, skb->len);
+			skb_set_tail_pointer(skb, skb->len);
+		}
+	} else {
+		struct sk_buff *skb2;
+
+		skb2 = skb_copy_expand(skb, 8, 0, flags);
 		dev_kfree_skb_any(skb);
-		return NULL;
+		skb = skb2;
+		if (!skb)
+			return NULL;
 	}
 
 	skb_push(skb, 4);

  parent reply	other threads:[~2013-12-06  5:55 UTC|newest]

Thread overview: 17+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-12-02 20:49 [GIT PULL] xhci: Regression fix for 3.13 Sarah Sharp
2013-12-02 20:49 ` [PATCH 1/1] usb: xhci: Link TRB must not occur within a USB payload burst Sarah Sharp
2013-12-02 21:42 ` [GIT PULL] xhci: Regression fix for 3.13 Greg Kroah-Hartman
     [not found]   ` <20131202214205.GA26175-U8xfFu+wG4EAvxtiuMwx3w@public.gmane.org>
2013-12-06  5:55     ` Mark Lord [this message]
2013-12-06 15:25       ` Greg Kroah-Hartman
2013-12-06 15:28         ` David Laight
     [not found]         ` <20131206152512.GA23212-U8xfFu+wG4EAvxtiuMwx3w@public.gmane.org>
2013-12-07  4:10           ` Mark Lord
2013-12-16 21:21             ` Sarah Sharp
2013-12-17  3:33               ` Mark Lord
2013-12-06 17:03       ` Sarah Sharp
2013-12-06 17:19         ` David Laight
2013-12-06 17:29         ` David Miller
2013-12-06 17:29         ` Greg Kroah-Hartman
2013-12-06 17:32           ` David Miller
2013-12-06 17:46             ` David Laight
2013-12-06 18:19               ` Sarah Sharp
2013-12-06 18:26                 ` Greg KH

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=52A166CB.4020508@pobox.com \
    --to=mlord-e+axbwqsrlaavxtiumwx3w@public$(echo .)gmane.org \
    --cc=David.Laight-ZS65k/vG3HxXrIkS9f7CXA@public$(echo .)gmane.org \
    --cc=gregkh-hQyY1W1yCW8ekmWlsbkhG0B+6BGkLq7r@public$(echo .)gmane.org \
    --cc=linux-usb-u79uwXL29TY76Z2rM5mHXA@public$(echo .)gmane.org \
    --cc=netdev-u79uwXL29TY76Z2rM5mHXA@public$(echo .)gmane.org \
    --cc=sarah.a.sharp-VuQAYsv1563Yd54FQh9/CA@public$(echo .)gmane.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox