diff mbox

[2/2] ASIX: Use only 11 bits of header for data size

Message ID 1311734687-23551-2-git-send-email-marek.vasut@gmail.com
State Accepted, archived
Delegated to: David Miller
Headers show

Commit Message

Marek Vasut July 27, 2011, 2:44 a.m. UTC
The AX88772B uses only 11 bits of the header for the actual size. The other bits
are used for something else. This causes dmesg full of messages:

	asix_rx_fixup() Bad Header Length

This patch trims the check to only 11 bits. I believe on older chips, the
remaining 5 top bits are unused.

Signed-off-by: Marek Vasut <marek.vasut@gmail.com>
---
 drivers/net/usb/asix.c |    4 ++--
 1 files changed, 2 insertions(+), 2 deletions(-)

NOTE: If possible, can someone test/verify this patch with other ASIX chips ?
NOTE2: If Ack-ed, Greg, can you get this into -stable?

Comments

David Miller July 28, 2011, 5:40 a.m. UTC | #1
From: Marek Vasut <marek.vasut@gmail.com>
Date: Wed, 27 Jul 2011 04:44:47 +0200

> The AX88772B uses only 11 bits of the header for the actual size. The other bits
> are used for something else. This causes dmesg full of messages:
> 
> 	asix_rx_fixup() Bad Header Length
> 
> This patch trims the check to only 11 bits. I believe on older chips, the
> remaining 5 top bits are unused.
> 
> Signed-off-by: Marek Vasut <marek.vasut@gmail.com>

Applied.
--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Marek Vasut July 28, 2011, 6:06 a.m. UTC | #2
On Thursday, July 28, 2011 07:40:29 AM David Miller wrote:
> From: Marek Vasut <marek.vasut@gmail.com>
> Date: Wed, 27 Jul 2011 04:44:47 +0200
> 
> > The AX88772B uses only 11 bits of the header for the actual size. The
> > other bits
> > 
> > are used for something else. This causes dmesg full of messages:
> > 	asix_rx_fixup() Bad Header Length
> > 
> > This patch trims the check to only 11 bits. I believe on older chips, the
> > remaining 5 top bits are unused.
> > 
> > Signed-off-by: Marek Vasut <marek.vasut@gmail.com>
> 
> Applied.

Hi, did you test it ?

I left NOTEs outside the commit message:

NOTE: If possible, can someone test/verify this patch with other ASIX chips ?
NOTE2: If Ack-ed, Greg, can you get this into -stable?

I hope I won't have a horde of angry people at my door soon ;-)
--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Greg KH July 28, 2011, 3:18 p.m. UTC | #3
On Thu, Jul 28, 2011 at 08:06:18AM +0200, Marek Vasut wrote:
> On Thursday, July 28, 2011 07:40:29 AM David Miller wrote:
> > From: Marek Vasut <marek.vasut@gmail.com>
> > Date: Wed, 27 Jul 2011 04:44:47 +0200
> > 
> > > The AX88772B uses only 11 bits of the header for the actual size. The
> > > other bits
> > > 
> > > are used for something else. This causes dmesg full of messages:
> > > 	asix_rx_fixup() Bad Header Length
> > > 
> > > This patch trims the check to only 11 bits. I believe on older chips, the
> > > remaining 5 top bits are unused.
> > > 
> > > Signed-off-by: Marek Vasut <marek.vasut@gmail.com>
> > 
> > Applied.
> 
> Hi, did you test it ?
> 
> I left NOTEs outside the commit message:
> 
> NOTE: If possible, can someone test/verify this patch with other ASIX chips ?
> NOTE2: If Ack-ed, Greg, can you get this into -stable?

<formletter>

This is not the correct way to submit patches for inclusion in the
stable kernel tree.  Please read Documentation/stable_kernel_rules.txt
for how to do this properly.

</formletter>
--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Marek Vasut July 28, 2011, 4:17 p.m. UTC | #4
On Thursday, July 28, 2011 05:18:06 PM Greg KH wrote:
> On Thu, Jul 28, 2011 at 08:06:18AM +0200, Marek Vasut wrote:
> > On Thursday, July 28, 2011 07:40:29 AM David Miller wrote:
> > > From: Marek Vasut <marek.vasut@gmail.com>
> > > Date: Wed, 27 Jul 2011 04:44:47 +0200
> > > 
> > > > The AX88772B uses only 11 bits of the header for the actual size. The
> > > > other bits
> > > > 
> > > > are used for something else. This causes dmesg full of messages:
> > > > 	asix_rx_fixup() Bad Header Length
> > > > 
> > > > This patch trims the check to only 11 bits. I believe on older chips,
> > > > the remaining 5 top bits are unused.
> > > > 
> > > > Signed-off-by: Marek Vasut <marek.vasut@gmail.com>
> > > 
> > > Applied.
> > 
> > Hi, did you test it ?
> > 
> > I left NOTEs outside the commit message:
> > 
> > NOTE: If possible, can someone test/verify this patch with other ASIX
> > chips ? NOTE2: If Ack-ed, Greg, can you get this into -stable?
> 
> <formletter>
> 
> This is not the correct way to submit patches for inclusion in the
> stable kernel tree.  Please read Documentation/stable_kernel_rules.txt
> for how to do this properly.

Yea I know ... I'm just so very tired (read dead). Sorry
> 
> </formletter>
--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
diff mbox

Patch

diff --git a/drivers/net/usb/asix.c b/drivers/net/usb/asix.c
index d5b62a4..c5c4b4d 100644
--- a/drivers/net/usb/asix.c
+++ b/drivers/net/usb/asix.c
@@ -314,11 +314,11 @@  static int asix_rx_fixup(struct usbnet *dev, struct sk_buff *skb)
 	skb_pull(skb, 4);
 
 	while (skb->len > 0) {
-		if ((header & 0xffff) != ((~header >> 16) & 0xffff))
+		if ((header & 0x07ff) != ((~header >> 16) & 0x07ff))
 			netdev_err(dev->net, "asix_rx_fixup() Bad Header Length\n");
 
 		/* get the packet length */
-		size = (u16) (header & 0x0000ffff);
+		size = (u16) (header & 0x000007ff);
 
 		if ((skb->len) - ((size + 1) & 0xfffe) == 0) {
 			u8 alignment = (unsigned long)skb->data & 0x3;