summaryrefslogtreecommitdiffstats
path: root/meta/recipes-kernel/linux/linux-omap-2.6.29/musb/0020-musb_host-streamline-musb_cleanup_urb-calls.patch
diff options
context:
space:
mode:
Diffstat (limited to 'meta/recipes-kernel/linux/linux-omap-2.6.29/musb/0020-musb_host-streamline-musb_cleanup_urb-calls.patch')
-rw-r--r--meta/recipes-kernel/linux/linux-omap-2.6.29/musb/0020-musb_host-streamline-musb_cleanup_urb-calls.patch58
1 files changed, 58 insertions, 0 deletions
diff --git a/meta/recipes-kernel/linux/linux-omap-2.6.29/musb/0020-musb_host-streamline-musb_cleanup_urb-calls.patch b/meta/recipes-kernel/linux/linux-omap-2.6.29/musb/0020-musb_host-streamline-musb_cleanup_urb-calls.patch
new file mode 100644
index 0000000000..d89eaadd61
--- /dev/null
+++ b/meta/recipes-kernel/linux/linux-omap-2.6.29/musb/0020-musb_host-streamline-musb_cleanup_urb-calls.patch
@@ -0,0 +1,58 @@
1From d408894fa4263440ed8a9e68566bacea7e6f6bed Mon Sep 17 00:00:00 2001
2From: Sergei Shtylyov <sshtylyov-hkdhdckH98+B+jHODAdFcQ@public.gmane.org>
3Date: Fri, 27 Mar 2009 12:57:50 -0700
4Subject: [PATCH] musb_host: streamline musb_cleanup_urb() calls
5
6The argument for the 'is_in' parameter of musb_cleanup_urb()
7is always extracted from an URB that's passed to the function.
8So that parameter is superfluous; remove it.
9
10Signed-off-by: Sergei Shtylyov <sshtylyov-hkdhdckH98+B+jHODAdFcQ@public.gmane.org>
11Signed-off-by: David Brownell <dbrownell-Rn4VEauK+AKRv+LV9MX5uipxlwaOVQ5f@public.gmane.org>
12---
13 drivers/usb/musb/musb_host.c | 9 +++++----
14 1 files changed, 5 insertions(+), 4 deletions(-)
15
16diff --git a/drivers/usb/musb/musb_host.c b/drivers/usb/musb/musb_host.c
17index e121e0e..71e835e 100644
18--- a/drivers/usb/musb/musb_host.c
19+++ b/drivers/usb/musb/musb_host.c
20@@ -1950,14 +1950,15 @@ done:
21 * called with controller locked, irqs blocked
22 * that hardware queue advances to the next transfer, unless prevented
23 */
24-static int musb_cleanup_urb(struct urb *urb, struct musb_qh *qh, int is_in)
25+static int musb_cleanup_urb(struct urb *urb, struct musb_qh *qh)
26 {
27 struct musb_hw_ep *ep = qh->hw_ep;
28 void __iomem *epio = ep->regs;
29 unsigned hw_end = ep->epnum;
30 void __iomem *regs = ep->musb->mregs;
31- u16 csr;
32+ int is_in = usb_pipein(urb->pipe);
33 int status = 0;
34+ u16 csr;
35
36 musb_ep_select(regs, hw_end);
37
38@@ -2056,7 +2057,7 @@ static int musb_urb_dequeue(struct usb_hcd *hcd, struct urb *urb, int status)
39 kfree(qh);
40 }
41 } else
42- ret = musb_cleanup_urb(urb, qh, urb->pipe & USB_DIR_IN);
43+ ret = musb_cleanup_urb(urb, qh);
44 done:
45 spin_unlock_irqrestore(&musb->lock, flags);
46 return ret;
47@@ -2090,7 +2091,7 @@ musb_h_disable(struct usb_hcd *hcd, struct usb_host_endpoint *hep)
48 urb->status = -ESHUTDOWN;
49
50 /* cleanup */
51- musb_cleanup_urb(urb, qh, urb->pipe & USB_DIR_IN);
52+ musb_cleanup_urb(urb, qh);
53
54 /* Then nuke all the others ... and advance the
55 * queue on hw_ep (e.g. bulk ring) when we're done.
56--
571.6.0.4
58