hso: fix for the 'invalid frame length' messages
diff mbox

Message ID 20090330094459.GC9849@raptor
State Not Applicable, archived
Delegated to: David Miller
Headers show

Commit Message

Jan Dumon March 30, 2009, 9:44 a.m. UTC
From: Jan Dumon <j.dumon@option.com>

Some devices cannot send very short usb transfers. To get around this the
firmware adds a known pattern and flags the driver that it should check for
this pattern on short transfers. This flag was not taken into account by
the driver.

Signed-off-by: Jan Dumon <j.dumon@option.com>
---
--
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

Comments

David Miller April 2, 2009, 8:20 a.m. UTC | #1
From: Jan Dumon <j.dumon@option.com>
Date: Mon, 30 Mar 2009 11:44:59 +0200

> Some devices cannot send very short usb transfers. To get around this the
> firmware adds a known pattern and flags the driver that it should check for
> this pattern on short transfers. This flag was not taken into account by
> the driver.
> 
> Signed-off-by: Jan Dumon <j.dumon@option.com>

These patches do not apply cleanly, please respin them against the
current sources.
--
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
Jan Dumon April 2, 2009, 8:34 a.m. UTC | #2
David Miller wrote:
> From: Jan Dumon <j.dumon@option.com>
> Date: Mon, 30 Mar 2009 11:44:59 +0200
> 
>> Some devices cannot send very short usb transfers. To get around this the
>> firmware adds a known pattern and flags the driver that it should check for
>> this pattern on short transfers. This flag was not taken into account by
>> the driver.
>>
>> Signed-off-by: Jan Dumon <j.dumon@option.com>
> 
> These patches do not apply cleanly, please respin them against the
> current sources.

The diff was taken against 2.6.29, problem is that they both change the same file (as did the
product ID patch) and that changes the line numbers...
Against which sources should I take them again and should I start from the same clean sources for
each patch or can they be "stacked" ?

Greets.
Jan.
--
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
David Miller April 2, 2009, 8:36 a.m. UTC | #3
From: Jan Dumon <j.dumon@option.com>
Date: Thu, 02 Apr 2009 10:34:02 +0200

> Against which sources should I take them again and should I start
> from the same clean sources for each patch or can they be "stacked"
> ?

When you have multiple patches, you number them, and they
are applied in that series order.

You can work against:

	git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6.git
--
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

Patch
diff mbox

diff --git a/drivers/net/usb/hso.c b/drivers/net/usb/hso.c
index a9320db..67f05ad 100644
--- a/drivers/net/usb/hso.c
+++ b/drivers/net/usb/hso.c
@@ -2532,14 +2532,15 @@  static void hso_create_rfkill(struct hso_device *hso_dev,
 }
 
 /* Creates our network device */
-static struct hso_device *hso_create_net_device(struct usb_interface *interface)
+static struct hso_device *hso_create_net_device(struct usb_interface *interface,
+						int port_spec)
 {
 	int result, i;
 	struct net_device *net;
 	struct hso_net *hso_net;
 	struct hso_device *hso_dev;
 
-	hso_dev = hso_create_device(interface, HSO_INTF_MUX | HSO_PORT_NETWORK);
+	hso_dev = hso_create_device(interface, port_spec);
 	if (!hso_dev)
 		return NULL;
 
@@ -2939,7 +2940,8 @@  static int hso_probe(struct usb_interface *interface,
 		if ((port_spec & HSO_PORT_MASK) == HSO_PORT_NETWORK) {
 			/* Create the network device */
 			if (!disable_net) {
-				hso_dev = hso_create_net_device(interface);
+				hso_dev = hso_create_net_device(interface,
+								port_spec);
 				if (!hso_dev)
 					goto exit;
 				tmp_dev = hso_dev;
@@ -2971,7 +2973,7 @@  static int hso_probe(struct usb_interface *interface,
 		/* It's a regular bulk interface */
 		if (((port_spec & HSO_PORT_MASK) == HSO_PORT_NETWORK)
 		    && !disable_net)
-			hso_dev = hso_create_net_device(interface);
+			hso_dev = hso_create_net_device(interface, port_spec);
 		else
 			hso_dev =
 			    hso_create_bulk_serial_device(interface, port_spec);