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)) {