summaryrefslogtreecommitdiffstats
path: root/meta/recipes-kernel/linux/linux-omap-2.6.29/musb/0007-usb-gadget-fix-ethernet-link-reports-to-ethtool.patch
diff options
context:
space:
mode:
Diffstat (limited to 'meta/recipes-kernel/linux/linux-omap-2.6.29/musb/0007-usb-gadget-fix-ethernet-link-reports-to-ethtool.patch')
-rw-r--r--meta/recipes-kernel/linux/linux-omap-2.6.29/musb/0007-usb-gadget-fix-ethernet-link-reports-to-ethtool.patch47
1 files changed, 47 insertions, 0 deletions
diff --git a/meta/recipes-kernel/linux/linux-omap-2.6.29/musb/0007-usb-gadget-fix-ethernet-link-reports-to-ethtool.patch b/meta/recipes-kernel/linux/linux-omap-2.6.29/musb/0007-usb-gadget-fix-ethernet-link-reports-to-ethtool.patch
new file mode 100644
index 0000000000..a89bc2ff5c
--- /dev/null
+++ b/meta/recipes-kernel/linux/linux-omap-2.6.29/musb/0007-usb-gadget-fix-ethernet-link-reports-to-ethtool.patch
@@ -0,0 +1,47 @@
1From 00c4bd07a64061ec9ab9c35f5bf01ec6187138f4 Mon Sep 17 00:00:00 2001
2From: Jonathan McDowell <noodles-4QvXXjU8Dv4@public.gmane.org>
3Date: Thu, 26 Mar 2009 00:45:27 -0700
4Subject: [PATCH] usb gadget: fix ethernet link reports to ethtool
5
6The g_ether USB gadget driver currently decides whether or not there's a
7link to report back for eth_get_link based on if the USB link speed is
8set. The USB gadget speed is however often set even before the device is
9enumerated. It seems more sensible to only report a "link" if we're
10actually connected to a host that wants to talk to us. The patch below
11does this for me - tested with the PXA27x UDC driver.
12
13Signed-Off-By: Jonathan McDowell <noodles-4QvXXjU8Dv4@public.gmane.org>
14Signed-off-by: David Brownell <dbrownell-Rn4VEauK+AKRv+LV9MX5uipxlwaOVQ5f@public.gmane.org>
15---
16 drivers/usb/gadget/u_ether.c | 8 +-------
17 1 files changed, 1 insertions(+), 7 deletions(-)
18
19diff --git a/drivers/usb/gadget/u_ether.c b/drivers/usb/gadget/u_ether.c
20index 96d65ca..4007770 100644
21--- a/drivers/usb/gadget/u_ether.c
22+++ b/drivers/usb/gadget/u_ether.c
23@@ -175,12 +175,6 @@ static void eth_get_drvinfo(struct net_device *net, struct ethtool_drvinfo *p)
24 strlcpy(p->bus_info, dev_name(&dev->gadget->dev), sizeof p->bus_info);
25 }
26
27-static u32 eth_get_link(struct net_device *net)
28-{
29- struct eth_dev *dev = netdev_priv(net);
30- return dev->gadget->speed != USB_SPEED_UNKNOWN;
31-}
32-
33 /* REVISIT can also support:
34 * - WOL (by tracking suspends and issuing remote wakeup)
35 * - msglevel (implies updated messaging)
36@@ -189,7 +183,7 @@ static u32 eth_get_link(struct net_device *net)
37
38 static struct ethtool_ops ops = {
39 .get_drvinfo = eth_get_drvinfo,
40- .get_link = eth_get_link
41+ .get_link = ethtool_op_get_link,
42 };
43
44 static void defer_kevent(struct eth_dev *dev, int flag)
45--
461.6.0.4
47