ChangeSet 1.985.10.19, 2003/03/25 14:11:56-08:00, [EMAIL PROTECTED]

[PATCH] USB: CDC Ethernet zero packet fix


 drivers/usb/net/cdc-ether.c |   19 ++++---------------
 1 files changed, 4 insertions(+), 15 deletions(-)


diff -Nru a/drivers/usb/net/cdc-ether.c b/drivers/usb/net/cdc-ether.c
--- a/drivers/usb/net/cdc-ether.c       Tue Mar 25 16:44:39 2003
+++ b/drivers/usb/net/cdc-ether.c       Tue Mar 25 16:44:39 2003
@@ -269,22 +269,8 @@
 static int CDCEther_start_xmit( struct sk_buff *skb, struct net_device *net )
 {
        ether_dev_t     *ether_dev = net->priv;
-       int     count;
        int     res;
 
-       // If we are told to transmit an ethernet frame that fits EXACTLY 
-       // into an integer number of USB packets, we force it to send one 
-       // more byte so the device will get a runt USB packet signalling the 
-       // end of the ethernet frame
-       if ( (skb->len) ^ (ether_dev->data_ep_out_size) ) {
-               // It was not an exact multiple
-               // no need to add anything extra
-               count = skb->len;
-       } else {
-               // Add one to make it NOT an exact multiple
-               count = skb->len + 1;
-       }
-
        // Tell the kernel, "No more frames 'til we are done
        // with this one.'
        netif_stop_queue( net );
@@ -299,7 +285,10 @@
                        write_bulk_callback, ether_dev );
 
        // Tell the URB how much it will be transporting today
-       ether_dev->tx_urb->transfer_buffer_length = count;
+       ether_dev->tx_urb->transfer_buffer_length = skb->len;
+
+       /* Deal with the zero length problem, I hope */
+       ether_dev->tx_urb->transfer_flags |= URB_ZERO_PACKET;
        
        // Send the URB on its merry way.
        if ((res = usb_submit_urb(ether_dev->tx_urb, GFP_ATOMIC)))  {



-------------------------------------------------------
This SF.net email is sponsored by:
The Definitive IT and Networking Event. Be There!
NetWorld+Interop Las Vegas 2003 -- Register today!
http://ads.sourceforge.net/cgi-bin/redirect.pl?keyn0001en
_______________________________________________
[EMAIL PROTECTED]
To unsubscribe, use the last form field at:
https://lists.sourceforge.net/lists/listinfo/linux-usb-devel

Reply via email to