summaryrefslogtreecommitdiffstats
path: root/target/linux/adm5120/patches-2.6.24/911-usb_centralize_eremoteio_handling.patch
blob: b4e0fb089f84af59e5001db17de74650b7e965f3 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
Index: linux-2.6.24/drivers/usb/host/adm5120-q.c
===================================================================
--- linux-2.6.24.orig/drivers/usb/host/adm5120-q.c
+++ linux-2.6.24/drivers/usb/host/adm5120-q.c
@@ -28,25 +28,10 @@ __releases(ahcd->lock)
 __acquires(ahcd->lock)
 {
 	urb_priv_free(ahcd, urb->hcpriv);
-	urb->hcpriv = NULL;
 
 	spin_lock(&urb->lock);
 	if (likely(urb->status == -EINPROGRESS))
 		urb->status = 0;
-
-	/* report short control reads right even though the data TD always
-	 * has TD_R set.  (much simpler, but creates the 1-td limit.)
-	 */
-	if (unlikely(urb->transfer_flags & URB_SHORT_NOT_OK)
-			&& unlikely(usb_pipecontrol(urb->pipe))
-			&& urb->actual_length < urb->transfer_buffer_length
-			&& usb_pipein(urb->pipe)
-			&& urb->status == 0) {
-		urb->status = -EREMOTEIO;
-#ifdef ADMHC_VERBOSE_DEBUG
-		urb_print(ahcd, urb, "SHORT", usb_pipeout(urb->pipe));
-#endif
-	}
 	spin_unlock(&urb->lock);
 
 	switch (usb_pipetype(urb->pipe)) {