diff options
Diffstat (limited to 'drivers/usb/host')
-rw-r--r-- | drivers/usb/host/ehci-fsl.c | 2 | ||||
-rw-r--r-- | drivers/usb/host/ehci-grlib.c | 2 | ||||
-rw-r--r-- | drivers/usb/host/ehci-hcd.c | 2 | ||||
-rw-r--r-- | drivers/usb/host/ehci-mv.c | 2 | ||||
-rw-r--r-- | drivers/usb/host/ehci-octeon.c | 2 | ||||
-rw-r--r-- | drivers/usb/host/ehci-pmcmsp.c | 2 | ||||
-rw-r--r-- | drivers/usb/host/ehci-ppc-of.c | 2 | ||||
-rw-r--r-- | drivers/usb/host/ehci-ps3.c | 2 | ||||
-rw-r--r-- | drivers/usb/host/ehci-q.c | 5 | ||||
-rw-r--r-- | drivers/usb/host/ehci-sead3.c | 2 | ||||
-rw-r--r-- | drivers/usb/host/ehci-sh.c | 2 | ||||
-rw-r--r-- | drivers/usb/host/ehci-tilegx.c | 2 | ||||
-rw-r--r-- | drivers/usb/host/ehci-w90x900.c | 2 | ||||
-rw-r--r-- | drivers/usb/host/ehci-xilinx-of.c | 2 |
14 files changed, 13 insertions, 18 deletions
diff --git a/drivers/usb/host/ehci-fsl.c b/drivers/usb/host/ehci-fsl.c index 848fc46ad80c..e41cfdc9bf93 100644 --- a/drivers/usb/host/ehci-fsl.c +++ b/drivers/usb/host/ehci-fsl.c | |||
@@ -669,7 +669,7 @@ static const struct hc_driver ehci_fsl_hc_driver = { | |||
669 | * generic hardware linkage | 669 | * generic hardware linkage |
670 | */ | 670 | */ |
671 | .irq = ehci_irq, | 671 | .irq = ehci_irq, |
672 | .flags = HCD_USB2 | HCD_MEMORY, | 672 | .flags = HCD_USB2 | HCD_MEMORY | HCD_BH, |
673 | 673 | ||
674 | /* | 674 | /* |
675 | * basic lifecycle operations | 675 | * basic lifecycle operations |
diff --git a/drivers/usb/host/ehci-grlib.c b/drivers/usb/host/ehci-grlib.c index 83ab51af250f..b52a66ce92e8 100644 --- a/drivers/usb/host/ehci-grlib.c +++ b/drivers/usb/host/ehci-grlib.c | |||
@@ -43,7 +43,7 @@ static const struct hc_driver ehci_grlib_hc_driver = { | |||
43 | * generic hardware linkage | 43 | * generic hardware linkage |
44 | */ | 44 | */ |
45 | .irq = ehci_irq, | 45 | .irq = ehci_irq, |
46 | .flags = HCD_MEMORY | HCD_USB2, | 46 | .flags = HCD_MEMORY | HCD_USB2 | HCD_BH, |
47 | 47 | ||
48 | /* | 48 | /* |
49 | * basic lifecycle operations | 49 | * basic lifecycle operations |
diff --git a/drivers/usb/host/ehci-hcd.c b/drivers/usb/host/ehci-hcd.c index 86ab9fd9fe9e..5d6022f30ebe 100644 --- a/drivers/usb/host/ehci-hcd.c +++ b/drivers/usb/host/ehci-hcd.c | |||
@@ -1158,7 +1158,7 @@ static const struct hc_driver ehci_hc_driver = { | |||
1158 | * generic hardware linkage | 1158 | * generic hardware linkage |
1159 | */ | 1159 | */ |
1160 | .irq = ehci_irq, | 1160 | .irq = ehci_irq, |
1161 | .flags = HCD_MEMORY | HCD_USB2, | 1161 | .flags = HCD_MEMORY | HCD_USB2 | HCD_BH, |
1162 | 1162 | ||
1163 | /* | 1163 | /* |
1164 | * basic lifecycle operations | 1164 | * basic lifecycle operations |
diff --git a/drivers/usb/host/ehci-mv.c b/drivers/usb/host/ehci-mv.c index 35cdbd88bbbe..417c10da9450 100644 --- a/drivers/usb/host/ehci-mv.c +++ b/drivers/usb/host/ehci-mv.c | |||
@@ -96,7 +96,7 @@ static const struct hc_driver mv_ehci_hc_driver = { | |||
96 | * generic hardware linkage | 96 | * generic hardware linkage |
97 | */ | 97 | */ |
98 | .irq = ehci_irq, | 98 | .irq = ehci_irq, |
99 | .flags = HCD_MEMORY | HCD_USB2, | 99 | .flags = HCD_MEMORY | HCD_USB2 | HCD_BH, |
100 | 100 | ||
101 | /* | 101 | /* |
102 | * basic lifecycle operations | 102 | * basic lifecycle operations |
diff --git a/drivers/usb/host/ehci-octeon.c b/drivers/usb/host/ehci-octeon.c index 45cc00158412..ab0397e4d8f3 100644 --- a/drivers/usb/host/ehci-octeon.c +++ b/drivers/usb/host/ehci-octeon.c | |||
@@ -51,7 +51,7 @@ static const struct hc_driver ehci_octeon_hc_driver = { | |||
51 | * generic hardware linkage | 51 | * generic hardware linkage |
52 | */ | 52 | */ |
53 | .irq = ehci_irq, | 53 | .irq = ehci_irq, |
54 | .flags = HCD_MEMORY | HCD_USB2, | 54 | .flags = HCD_MEMORY | HCD_USB2 | HCD_BH, |
55 | 55 | ||
56 | /* | 56 | /* |
57 | * basic lifecycle operations | 57 | * basic lifecycle operations |
diff --git a/drivers/usb/host/ehci-pmcmsp.c b/drivers/usb/host/ehci-pmcmsp.c index 601e208bd782..893b707f0000 100644 --- a/drivers/usb/host/ehci-pmcmsp.c +++ b/drivers/usb/host/ehci-pmcmsp.c | |||
@@ -286,7 +286,7 @@ static const struct hc_driver ehci_msp_hc_driver = { | |||
286 | #else | 286 | #else |
287 | .irq = ehci_irq, | 287 | .irq = ehci_irq, |
288 | #endif | 288 | #endif |
289 | .flags = HCD_MEMORY | HCD_USB2, | 289 | .flags = HCD_MEMORY | HCD_USB2 | HCD_BH, |
290 | 290 | ||
291 | /* | 291 | /* |
292 | * basic lifecycle operations | 292 | * basic lifecycle operations |
diff --git a/drivers/usb/host/ehci-ppc-of.c b/drivers/usb/host/ehci-ppc-of.c index 932293fa32de..6cc5567bf9c8 100644 --- a/drivers/usb/host/ehci-ppc-of.c +++ b/drivers/usb/host/ehci-ppc-of.c | |||
@@ -28,7 +28,7 @@ static const struct hc_driver ehci_ppc_of_hc_driver = { | |||
28 | * generic hardware linkage | 28 | * generic hardware linkage |
29 | */ | 29 | */ |
30 | .irq = ehci_irq, | 30 | .irq = ehci_irq, |
31 | .flags = HCD_MEMORY | HCD_USB2, | 31 | .flags = HCD_MEMORY | HCD_USB2 | HCD_BH, |
32 | 32 | ||
33 | /* | 33 | /* |
34 | * basic lifecycle operations | 34 | * basic lifecycle operations |
diff --git a/drivers/usb/host/ehci-ps3.c b/drivers/usb/host/ehci-ps3.c index fd983771b025..8188542ba17e 100644 --- a/drivers/usb/host/ehci-ps3.c +++ b/drivers/usb/host/ehci-ps3.c | |||
@@ -71,7 +71,7 @@ static const struct hc_driver ps3_ehci_hc_driver = { | |||
71 | .product_desc = "PS3 EHCI Host Controller", | 71 | .product_desc = "PS3 EHCI Host Controller", |
72 | .hcd_priv_size = sizeof(struct ehci_hcd), | 72 | .hcd_priv_size = sizeof(struct ehci_hcd), |
73 | .irq = ehci_irq, | 73 | .irq = ehci_irq, |
74 | .flags = HCD_MEMORY | HCD_USB2, | 74 | .flags = HCD_MEMORY | HCD_USB2 | HCD_BH, |
75 | .reset = ps3_ehci_hc_reset, | 75 | .reset = ps3_ehci_hc_reset, |
76 | .start = ehci_run, | 76 | .start = ehci_run, |
77 | .stop = ehci_stop, | 77 | .stop = ehci_stop, |
diff --git a/drivers/usb/host/ehci-q.c b/drivers/usb/host/ehci-q.c index a7f776a13eb1..e321804c3475 100644 --- a/drivers/usb/host/ehci-q.c +++ b/drivers/usb/host/ehci-q.c | |||
@@ -247,8 +247,6 @@ static int qtd_copy_status ( | |||
247 | 247 | ||
248 | static void | 248 | static void |
249 | ehci_urb_done(struct ehci_hcd *ehci, struct urb *urb, int status) | 249 | ehci_urb_done(struct ehci_hcd *ehci, struct urb *urb, int status) |
250 | __releases(ehci->lock) | ||
251 | __acquires(ehci->lock) | ||
252 | { | 250 | { |
253 | if (usb_pipetype(urb->pipe) == PIPE_INTERRUPT) { | 251 | if (usb_pipetype(urb->pipe) == PIPE_INTERRUPT) { |
254 | /* ... update hc-wide periodic stats */ | 252 | /* ... update hc-wide periodic stats */ |
@@ -274,11 +272,8 @@ __acquires(ehci->lock) | |||
274 | urb->actual_length, urb->transfer_buffer_length); | 272 | urb->actual_length, urb->transfer_buffer_length); |
275 | #endif | 273 | #endif |
276 | 274 | ||
277 | /* complete() can reenter this HCD */ | ||
278 | usb_hcd_unlink_urb_from_ep(ehci_to_hcd(ehci), urb); | 275 | usb_hcd_unlink_urb_from_ep(ehci_to_hcd(ehci), urb); |
279 | spin_unlock (&ehci->lock); | ||
280 | usb_hcd_giveback_urb(ehci_to_hcd(ehci), urb, status); | 276 | usb_hcd_giveback_urb(ehci_to_hcd(ehci), urb, status); |
281 | spin_lock (&ehci->lock); | ||
282 | } | 277 | } |
283 | 278 | ||
284 | static int qh_schedule (struct ehci_hcd *ehci, struct ehci_qh *qh); | 279 | static int qh_schedule (struct ehci_hcd *ehci, struct ehci_qh *qh); |
diff --git a/drivers/usb/host/ehci-sead3.c b/drivers/usb/host/ehci-sead3.c index b2de52d39614..8a734498079b 100644 --- a/drivers/usb/host/ehci-sead3.c +++ b/drivers/usb/host/ehci-sead3.c | |||
@@ -55,7 +55,7 @@ const struct hc_driver ehci_sead3_hc_driver = { | |||
55 | * generic hardware linkage | 55 | * generic hardware linkage |
56 | */ | 56 | */ |
57 | .irq = ehci_irq, | 57 | .irq = ehci_irq, |
58 | .flags = HCD_MEMORY | HCD_USB2, | 58 | .flags = HCD_MEMORY | HCD_USB2 | HCD_BH, |
59 | 59 | ||
60 | /* | 60 | /* |
61 | * basic lifecycle operations | 61 | * basic lifecycle operations |
diff --git a/drivers/usb/host/ehci-sh.c b/drivers/usb/host/ehci-sh.c index 93e59a13bc1f..dc899eb2b861 100644 --- a/drivers/usb/host/ehci-sh.c +++ b/drivers/usb/host/ehci-sh.c | |||
@@ -36,7 +36,7 @@ static const struct hc_driver ehci_sh_hc_driver = { | |||
36 | * generic hardware linkage | 36 | * generic hardware linkage |
37 | */ | 37 | */ |
38 | .irq = ehci_irq, | 38 | .irq = ehci_irq, |
39 | .flags = HCD_USB2 | HCD_MEMORY, | 39 | .flags = HCD_USB2 | HCD_MEMORY | HCD_BH, |
40 | 40 | ||
41 | /* | 41 | /* |
42 | * basic lifecycle operations | 42 | * basic lifecycle operations |
diff --git a/drivers/usb/host/ehci-tilegx.c b/drivers/usb/host/ehci-tilegx.c index cca4be90a864..67026ffbf9a8 100644 --- a/drivers/usb/host/ehci-tilegx.c +++ b/drivers/usb/host/ehci-tilegx.c | |||
@@ -61,7 +61,7 @@ static const struct hc_driver ehci_tilegx_hc_driver = { | |||
61 | * Generic hardware linkage. | 61 | * Generic hardware linkage. |
62 | */ | 62 | */ |
63 | .irq = ehci_irq, | 63 | .irq = ehci_irq, |
64 | .flags = HCD_MEMORY | HCD_USB2, | 64 | .flags = HCD_MEMORY | HCD_USB2 | HCD_BH, |
65 | 65 | ||
66 | /* | 66 | /* |
67 | * Basic lifecycle operations. | 67 | * Basic lifecycle operations. |
diff --git a/drivers/usb/host/ehci-w90x900.c b/drivers/usb/host/ehci-w90x900.c index 59e0e24c753f..1c370dfbee0d 100644 --- a/drivers/usb/host/ehci-w90x900.c +++ b/drivers/usb/host/ehci-w90x900.c | |||
@@ -108,7 +108,7 @@ static const struct hc_driver ehci_w90x900_hc_driver = { | |||
108 | * generic hardware linkage | 108 | * generic hardware linkage |
109 | */ | 109 | */ |
110 | .irq = ehci_irq, | 110 | .irq = ehci_irq, |
111 | .flags = HCD_USB2|HCD_MEMORY, | 111 | .flags = HCD_USB2|HCD_MEMORY|HCD_BH, |
112 | 112 | ||
113 | /* | 113 | /* |
114 | * basic lifecycle operations | 114 | * basic lifecycle operations |
diff --git a/drivers/usb/host/ehci-xilinx-of.c b/drivers/usb/host/ehci-xilinx-of.c index eba962e6ebfb..95979f9f4381 100644 --- a/drivers/usb/host/ehci-xilinx-of.c +++ b/drivers/usb/host/ehci-xilinx-of.c | |||
@@ -79,7 +79,7 @@ static const struct hc_driver ehci_xilinx_of_hc_driver = { | |||
79 | * generic hardware linkage | 79 | * generic hardware linkage |
80 | */ | 80 | */ |
81 | .irq = ehci_irq, | 81 | .irq = ehci_irq, |
82 | .flags = HCD_MEMORY | HCD_USB2, | 82 | .flags = HCD_MEMORY | HCD_USB2 | HCD_BH, |
83 | 83 | ||
84 | /* | 84 | /* |
85 | * basic lifecycle operations | 85 | * basic lifecycle operations |