Some of the newer Zaurus (and compatible) models were missing MTU tweaks
to address the trailers appended to their packets; bug is in bugtraq, this
would be nice to get into 2.6.17-final.

- Dave
This includes an MTU fixup which could affect larger packets with newer
Zaurii, described as http://bugzilla.kernel.org/show_bug.cgi?id=6286;
plus minor whitespace cleanup.

Signed-off-by: David Brownell <[EMAIL PROTECTED]>

Index: g26/drivers/usb/net/zaurus.c
===================================================================
--- g26.orig/drivers/usb/net/zaurus.c	2006-04-28 15:57:37.000000000 -0700
+++ g26/drivers/usb/net/zaurus.c	2006-05-04 15:04:19.000000000 -0700
@@ -109,7 +109,7 @@ static const struct driver_info	zaurus_s
 	.check_connect = always_connected,
 	.bind =		zaurus_bind,
 	.unbind =	usbnet_cdc_unbind,
-	.tx_fixup = 	zaurus_tx_fixup,
+	.tx_fixup =	zaurus_tx_fixup,
 };
 #define	ZAURUS_STRONGARM_INFO	((unsigned long)&zaurus_sl5x00_info)
 
@@ -119,7 +119,7 @@ static const struct driver_info	zaurus_p
 	.check_connect = always_connected,
 	.bind =		zaurus_bind,
 	.unbind =	usbnet_cdc_unbind,
-	.tx_fixup = 	zaurus_tx_fixup,
+	.tx_fixup =	zaurus_tx_fixup,
 };
 #define	ZAURUS_PXA_INFO		((unsigned long)&zaurus_pxa_info)
 
@@ -129,7 +129,7 @@ static const struct driver_info	olympus_
 	.check_connect = always_connected,
 	.bind =		zaurus_bind,
 	.unbind =	usbnet_cdc_unbind,
-	.tx_fixup = 	zaurus_tx_fixup,
+	.tx_fixup =	zaurus_tx_fixup,
 };
 #define	OLYMPUS_MXL_INFO	((unsigned long)&olympus_mxl_info)
 
@@ -228,6 +228,11 @@ bad_detail:
 						detail->bDetailData[2]);
 				goto bad_desc;
 			}
+
+			/* same extra framing as for non-BLAN mode */
+			dev->net->hard_header_len += 6;
+			dev->rx_urb_size = dev->net->hard_header_len
+					+ dev->net->mtu;
 			break;
 		}
 next_desc:
@@ -258,7 +263,7 @@ static const struct driver_info	bogus_md
 	.description =	"pseudo-MDLM (BLAN) device",
 	.flags =	FLAG_FRAMING_Z,
 	.check_connect = always_connected,
-	.tx_fixup = 	zaurus_tx_fixup,
+	.tx_fixup =	zaurus_tx_fixup,
 	.bind =		blan_mdlm_bind,
 };
 
@@ -367,13 +372,13 @@ static struct usb_driver zaurus_driver =
 
 static int __init zaurus_init(void)
 {
- 	return usb_register(&zaurus_driver);
+	return usb_register(&zaurus_driver);
 }
 module_init(zaurus_init);
 
 static void __exit zaurus_exit(void)
 {
- 	usb_deregister(&zaurus_driver);
+	usb_deregister(&zaurus_driver);
 }
 module_exit(zaurus_exit);
 

Reply via email to