aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorGreg Kroah-Hartman <gregkh@linuxfoundation.org>2012-06-05 16:05:13 -0400
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2012-06-05 16:05:13 -0400
commitf2d0ed7134a15aff53aa9b09489a39bc69b1b211 (patch)
treeb2098b2feace3340d0946e4b76a30998c9bd3cf6
parentf8f5701bdaf9134b1f90e5044a82c66324d2073f (diff)
parent08f75bf14fadaa81fe362d5acda9b77b113dd0a2 (diff)
Merge tag 'fixes-for-v3.5-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/balbi/usb into usb-linus
usb: fixes for v3.5-rc1 Here you have the first set of fixes for our v3.5-rc cycle. It contains a set regression fixes caused by Ido's usb_endpoint_descriptor usage rework and a build fix to the musb driver caused by recent changes to the DaVinci tree. Nothing really major, the fixes are quite obvious.
-rw-r--r--drivers/usb/gadget/atmel_usba_udc.c6
-rw-r--r--drivers/usb/gadget/fsl_qe_udc.c2
-rw-r--r--drivers/usb/gadget/fsl_udc_core.c4
-rw-r--r--drivers/usb/gadget/fsl_usb2_udc.h4
-rw-r--r--drivers/usb/gadget/goku_udc.c2
-rw-r--r--drivers/usb/gadget/mv_udc_core.c2
-rw-r--r--drivers/usb/gadget/omap_udc.c2
-rw-r--r--drivers/usb/gadget/pxa25x_udc.c2
-rw-r--r--drivers/usb/gadget/s3c-hsudc.c2
-rw-r--r--drivers/usb/gadget/s3c2410_udc.c2
-rw-r--r--drivers/usb/musb/davinci.c1
-rw-r--r--drivers/usb/musb/davinci.h4
-rw-r--r--drivers/usb/musb/musb_gadget.c1
13 files changed, 15 insertions, 19 deletions
diff --git a/drivers/usb/gadget/atmel_usba_udc.c b/drivers/usb/gadget/atmel_usba_udc.c
index e23bf7984aaf..9a9bced813ed 100644
--- a/drivers/usb/gadget/atmel_usba_udc.c
+++ b/drivers/usb/gadget/atmel_usba_udc.c
@@ -599,12 +599,6 @@ usba_ep_enable(struct usb_ep *_ep, const struct usb_endpoint_descriptor *desc)
599 599
600 spin_lock_irqsave(&ep->udc->lock, flags); 600 spin_lock_irqsave(&ep->udc->lock, flags);
601 601
602 if (ep->ep.desc) {
603 spin_unlock_irqrestore(&ep->udc->lock, flags);
604 DBG(DBG_ERR, "ep%d already enabled\n", ep->index);
605 return -EBUSY;
606 }
607
608 ep->ep.desc = desc; 602 ep->ep.desc = desc;
609 ep->ep.maxpacket = maxpacket; 603 ep->ep.maxpacket = maxpacket;
610 604
diff --git a/drivers/usb/gadget/fsl_qe_udc.c b/drivers/usb/gadget/fsl_qe_udc.c
index 51881f3bd07a..b09452d6f33a 100644
--- a/drivers/usb/gadget/fsl_qe_udc.c
+++ b/drivers/usb/gadget/fsl_qe_udc.c
@@ -1596,7 +1596,7 @@ static int qe_ep_enable(struct usb_ep *_ep,
1596 ep = container_of(_ep, struct qe_ep, ep); 1596 ep = container_of(_ep, struct qe_ep, ep);
1597 1597
1598 /* catch various bogus parameters */ 1598 /* catch various bogus parameters */
1599 if (!_ep || !desc || ep->ep.desc || _ep->name == ep_name[0] || 1599 if (!_ep || !desc || _ep->name == ep_name[0] ||
1600 (desc->bDescriptorType != USB_DT_ENDPOINT)) 1600 (desc->bDescriptorType != USB_DT_ENDPOINT))
1601 return -EINVAL; 1601 return -EINVAL;
1602 1602
diff --git a/drivers/usb/gadget/fsl_udc_core.c b/drivers/usb/gadget/fsl_udc_core.c
index 28316858208b..bc6f9bb9994a 100644
--- a/drivers/usb/gadget/fsl_udc_core.c
+++ b/drivers/usb/gadget/fsl_udc_core.c
@@ -567,7 +567,7 @@ static int fsl_ep_enable(struct usb_ep *_ep,
567 ep = container_of(_ep, struct fsl_ep, ep); 567 ep = container_of(_ep, struct fsl_ep, ep);
568 568
569 /* catch various bogus parameters */ 569 /* catch various bogus parameters */
570 if (!_ep || !desc || ep->ep.desc 570 if (!_ep || !desc
571 || (desc->bDescriptorType != USB_DT_ENDPOINT)) 571 || (desc->bDescriptorType != USB_DT_ENDPOINT))
572 return -EINVAL; 572 return -EINVAL;
573 573
@@ -2575,7 +2575,7 @@ static int __init fsl_udc_probe(struct platform_device *pdev)
2575 /* for ep0: the desc defined here; 2575 /* for ep0: the desc defined here;
2576 * for other eps, gadget layer called ep_enable with defined desc 2576 * for other eps, gadget layer called ep_enable with defined desc
2577 */ 2577 */
2578 udc_controller->eps[0].desc = &fsl_ep0_desc; 2578 udc_controller->eps[0].ep.desc = &fsl_ep0_desc;
2579 udc_controller->eps[0].ep.maxpacket = USB_MAX_CTRL_PAYLOAD; 2579 udc_controller->eps[0].ep.maxpacket = USB_MAX_CTRL_PAYLOAD;
2580 2580
2581 /* setup the udc->eps[] for non-control endpoints and link 2581 /* setup the udc->eps[] for non-control endpoints and link
diff --git a/drivers/usb/gadget/fsl_usb2_udc.h b/drivers/usb/gadget/fsl_usb2_udc.h
index 5cd7b7e7ddb4..f61a967f7082 100644
--- a/drivers/usb/gadget/fsl_usb2_udc.h
+++ b/drivers/usb/gadget/fsl_usb2_udc.h
@@ -568,10 +568,10 @@ static void dump_msg(const char *label, const u8 * buf, unsigned int length)
568/* 568/*
569 * ### internal used help routines. 569 * ### internal used help routines.
570 */ 570 */
571#define ep_index(EP) ((EP)->desc->bEndpointAddress&0xF) 571#define ep_index(EP) ((EP)->ep.desc->bEndpointAddress&0xF)
572#define ep_maxpacket(EP) ((EP)->ep.maxpacket) 572#define ep_maxpacket(EP) ((EP)->ep.maxpacket)
573#define ep_is_in(EP) ( (ep_index(EP) == 0) ? (EP->udc->ep0_dir == \ 573#define ep_is_in(EP) ( (ep_index(EP) == 0) ? (EP->udc->ep0_dir == \
574 USB_DIR_IN ):((EP)->desc->bEndpointAddress \ 574 USB_DIR_IN) : ((EP)->ep.desc->bEndpointAddress \
575 & USB_DIR_IN)==USB_DIR_IN) 575 & USB_DIR_IN)==USB_DIR_IN)
576#define get_ep_by_pipe(udc, pipe) ((pipe == 1)? &udc->eps[0]: \ 576#define get_ep_by_pipe(udc, pipe) ((pipe == 1)? &udc->eps[0]: \
577 &udc->eps[pipe]) 577 &udc->eps[pipe])
diff --git a/drivers/usb/gadget/goku_udc.c b/drivers/usb/gadget/goku_udc.c
index b241e6c6a7f2..3d28fb976c78 100644
--- a/drivers/usb/gadget/goku_udc.c
+++ b/drivers/usb/gadget/goku_udc.c
@@ -102,7 +102,7 @@ goku_ep_enable(struct usb_ep *_ep, const struct usb_endpoint_descriptor *desc)
102 unsigned long flags; 102 unsigned long flags;
103 103
104 ep = container_of(_ep, struct goku_ep, ep); 104 ep = container_of(_ep, struct goku_ep, ep);
105 if (!_ep || !desc || ep->ep.desc 105 if (!_ep || !desc
106 || desc->bDescriptorType != USB_DT_ENDPOINT) 106 || desc->bDescriptorType != USB_DT_ENDPOINT)
107 return -EINVAL; 107 return -EINVAL;
108 dev = ep->dev; 108 dev = ep->dev;
diff --git a/drivers/usb/gadget/mv_udc_core.c b/drivers/usb/gadget/mv_udc_core.c
index dbcd1329495e..117a4bba1b8c 100644
--- a/drivers/usb/gadget/mv_udc_core.c
+++ b/drivers/usb/gadget/mv_udc_core.c
@@ -464,7 +464,7 @@ static int mv_ep_enable(struct usb_ep *_ep,
464 ep = container_of(_ep, struct mv_ep, ep); 464 ep = container_of(_ep, struct mv_ep, ep);
465 udc = ep->udc; 465 udc = ep->udc;
466 466
467 if (!_ep || !desc || ep->ep.desc 467 if (!_ep || !desc
468 || desc->bDescriptorType != USB_DT_ENDPOINT) 468 || desc->bDescriptorType != USB_DT_ENDPOINT)
469 return -EINVAL; 469 return -EINVAL;
470 470
diff --git a/drivers/usb/gadget/omap_udc.c b/drivers/usb/gadget/omap_udc.c
index 7ba32469c5bd..a460e8c204f4 100644
--- a/drivers/usb/gadget/omap_udc.c
+++ b/drivers/usb/gadget/omap_udc.c
@@ -153,7 +153,7 @@ static int omap_ep_enable(struct usb_ep *_ep,
153 u16 maxp; 153 u16 maxp;
154 154
155 /* catch various bogus parameters */ 155 /* catch various bogus parameters */
156 if (!_ep || !desc || ep->ep.desc 156 if (!_ep || !desc
157 || desc->bDescriptorType != USB_DT_ENDPOINT 157 || desc->bDescriptorType != USB_DT_ENDPOINT
158 || ep->bEndpointAddress != desc->bEndpointAddress 158 || ep->bEndpointAddress != desc->bEndpointAddress
159 || ep->maxpacket < usb_endpoint_maxp(desc)) { 159 || ep->maxpacket < usb_endpoint_maxp(desc)) {
diff --git a/drivers/usb/gadget/pxa25x_udc.c b/drivers/usb/gadget/pxa25x_udc.c
index d7c8cb3bf759..f7ff9e8e746a 100644
--- a/drivers/usb/gadget/pxa25x_udc.c
+++ b/drivers/usb/gadget/pxa25x_udc.c
@@ -218,7 +218,7 @@ static int pxa25x_ep_enable (struct usb_ep *_ep,
218 struct pxa25x_udc *dev; 218 struct pxa25x_udc *dev;
219 219
220 ep = container_of (_ep, struct pxa25x_ep, ep); 220 ep = container_of (_ep, struct pxa25x_ep, ep);
221 if (!_ep || !desc || ep->ep.desc || _ep->name == ep0name 221 if (!_ep || !desc || _ep->name == ep0name
222 || desc->bDescriptorType != USB_DT_ENDPOINT 222 || desc->bDescriptorType != USB_DT_ENDPOINT
223 || ep->bEndpointAddress != desc->bEndpointAddress 223 || ep->bEndpointAddress != desc->bEndpointAddress
224 || ep->fifo_size < usb_endpoint_maxp (desc)) { 224 || ep->fifo_size < usb_endpoint_maxp (desc)) {
diff --git a/drivers/usb/gadget/s3c-hsudc.c b/drivers/usb/gadget/s3c-hsudc.c
index 36c6836eeb0f..236b271871a0 100644
--- a/drivers/usb/gadget/s3c-hsudc.c
+++ b/drivers/usb/gadget/s3c-hsudc.c
@@ -760,7 +760,7 @@ static int s3c_hsudc_ep_enable(struct usb_ep *_ep,
760 u32 ecr = 0; 760 u32 ecr = 0;
761 761
762 hsep = our_ep(_ep); 762 hsep = our_ep(_ep);
763 if (!_ep || !desc || hsep->ep.desc || _ep->name == ep0name 763 if (!_ep || !desc || _ep->name == ep0name
764 || desc->bDescriptorType != USB_DT_ENDPOINT 764 || desc->bDescriptorType != USB_DT_ENDPOINT
765 || hsep->bEndpointAddress != desc->bEndpointAddress 765 || hsep->bEndpointAddress != desc->bEndpointAddress
766 || ep_maxpacket(hsep) < usb_endpoint_maxp(desc)) 766 || ep_maxpacket(hsep) < usb_endpoint_maxp(desc))
diff --git a/drivers/usb/gadget/s3c2410_udc.c b/drivers/usb/gadget/s3c2410_udc.c
index 3de71d37d75e..f2e51f50e528 100644
--- a/drivers/usb/gadget/s3c2410_udc.c
+++ b/drivers/usb/gadget/s3c2410_udc.c
@@ -1062,7 +1062,7 @@ static int s3c2410_udc_ep_enable(struct usb_ep *_ep,
1062 1062
1063 ep = to_s3c2410_ep(_ep); 1063 ep = to_s3c2410_ep(_ep);
1064 1064
1065 if (!_ep || !desc || ep->ep.desc 1065 if (!_ep || !desc
1066 || _ep->name == ep0name 1066 || _ep->name == ep0name
1067 || desc->bDescriptorType != USB_DT_ENDPOINT) 1067 || desc->bDescriptorType != USB_DT_ENDPOINT)
1068 return -EINVAL; 1068 return -EINVAL;
diff --git a/drivers/usb/musb/davinci.c b/drivers/usb/musb/davinci.c
index 768b4b55c816..9d63ba4d10d6 100644
--- a/drivers/usb/musb/davinci.c
+++ b/drivers/usb/musb/davinci.c
@@ -34,6 +34,7 @@
34#include <linux/dma-mapping.h> 34#include <linux/dma-mapping.h>
35 35
36#include <mach/cputype.h> 36#include <mach/cputype.h>
37#include <mach/hardware.h>
37 38
38#include <asm/mach-types.h> 39#include <asm/mach-types.h>
39 40
diff --git a/drivers/usb/musb/davinci.h b/drivers/usb/musb/davinci.h
index 046c84433cad..371baa0ee509 100644
--- a/drivers/usb/musb/davinci.h
+++ b/drivers/usb/musb/davinci.h
@@ -15,7 +15,7 @@
15 */ 15 */
16 16
17/* Integrated highspeed/otg PHY */ 17/* Integrated highspeed/otg PHY */
18#define USBPHY_CTL_PADDR (DAVINCI_SYSTEM_MODULE_BASE + 0x34) 18#define USBPHY_CTL_PADDR 0x01c40034
19#define USBPHY_DATAPOL BIT(11) /* (dm355) switch D+/D- */ 19#define USBPHY_DATAPOL BIT(11) /* (dm355) switch D+/D- */
20#define USBPHY_PHYCLKGD BIT(8) 20#define USBPHY_PHYCLKGD BIT(8)
21#define USBPHY_SESNDEN BIT(7) /* v(sess_end) comparator */ 21#define USBPHY_SESNDEN BIT(7) /* v(sess_end) comparator */
@@ -27,7 +27,7 @@
27#define USBPHY_OTGPDWN BIT(1) 27#define USBPHY_OTGPDWN BIT(1)
28#define USBPHY_PHYPDWN BIT(0) 28#define USBPHY_PHYPDWN BIT(0)
29 29
30#define DM355_DEEPSLEEP_PADDR (DAVINCI_SYSTEM_MODULE_BASE + 0x48) 30#define DM355_DEEPSLEEP_PADDR 0x01c40048
31#define DRVVBUS_FORCE BIT(2) 31#define DRVVBUS_FORCE BIT(2)
32#define DRVVBUS_OVERRIDE BIT(1) 32#define DRVVBUS_OVERRIDE BIT(1)
33 33
diff --git a/drivers/usb/musb/musb_gadget.c b/drivers/usb/musb/musb_gadget.c
index f42c29b11f71..95918dacc99a 100644
--- a/drivers/usb/musb/musb_gadget.c
+++ b/drivers/usb/musb/musb_gadget.c
@@ -1232,6 +1232,7 @@ static int musb_gadget_disable(struct usb_ep *ep)
1232 } 1232 }
1233 1233
1234 musb_ep->desc = NULL; 1234 musb_ep->desc = NULL;
1235 musb_ep->end_point.desc = NULL;
1235 1236
1236 /* abort all pending DMA and requests */ 1237 /* abort all pending DMA and requests */
1237 nuke(musb_ep, -ESHUTDOWN); 1238 nuke(musb_ep, -ESHUTDOWN);