Merge to Fedora kernel-2.6.18-1.2224_FC5 patched with stable patch-2.6.18.1-vs2.0...
[linux-2.6.git] / drivers / usb / net / zaurus.c
index f7ac9d6..144566b 100644 (file)
@@ -20,7 +20,6 @@
 // #define     DEBUG                   // error path messages, extra info
 // #define     VERBOSE                 // more; success messages
 
-#include <linux/config.h>
 #include <linux/module.h>
 #include <linux/sched.h>
 #include <linux/init.h>
@@ -30,7 +29,7 @@
 #include <linux/mii.h>
 #include <linux/crc32.h>
 #include <linux/usb.h>
-#include <linux/usb_cdc.h>
+#include <linux/usb/cdc.h>
 
 #include "usbnet.h"
 
@@ -109,7 +108,7 @@ static const struct driver_info     zaurus_sl5x00_info = {
        .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 +118,7 @@ static const struct driver_info     zaurus_pxa_info = {
        .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 +128,7 @@ static const struct driver_info     olympus_mxl_info = {
        .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 +227,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 +262,7 @@ static const struct driver_info     bogus_mdlm_info = {
        .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 +371,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);