@ -500,11 +500,12 @@ static void usbhsh_queue_done(struct usbhs_priv *priv, struct usbhs_pkt *pkt)
}
static int usbhsh_queue_push ( struct usb_hcd * hcd ,
struct usbhs_pipe * pipe ,
struct urb * urb ,
gfp_t mem_flags )
{
struct usbhsh_hpriv * hpriv = usbhsh_hcd_to_hpriv ( hcd ) ;
struct usbhsh_ep * uep = usbhsh_ep_to_uep ( urb - > ep ) ;
struct usbhs_pipe * pipe = usbhsh_uep_to_pipe ( uep ) ;
struct device * dev = usbhsh_hcd_to_dev ( hcd ) ;
struct usbhsh_request * ureq ;
void * buf ;
@ -666,11 +667,12 @@ static int usbhsh_status_stage_packet_push(struct usbhsh_hpriv *hpriv,
}
static int usbhsh_dcp_queue_push ( struct usb_hcd * hcd ,
struct usbhs_pipe * pipe ,
struct urb * urb ,
gfp_t mflags )
{
struct usbhsh_hpriv * hpriv = usbhsh_hcd_to_hpriv ( hcd ) ;
struct usbhsh_ep * uep = usbhsh_ep_to_uep ( urb - > ep ) ;
struct usbhs_pipe * pipe = usbhsh_uep_to_pipe ( uep ) ;
struct device * dev = usbhsh_hcd_to_dev ( hcd ) ;
int ret ;
@ -743,7 +745,6 @@ static int usbhsh_urb_enqueue(struct usb_hcd *hcd,
struct usb_device * usbv = usbhsh_urb_to_usbv ( urb ) ;
struct usb_host_endpoint * ep = urb - > ep ;
struct usbhsh_device * udev , * new_udev = NULL ;
struct usbhs_pipe * pipe ;
struct usbhsh_ep * uep ;
int is_dir_in = usb_pipein ( urb - > pipe ) ;
@ -777,15 +778,14 @@ static int usbhsh_urb_enqueue(struct usb_hcd *hcd,
if ( ! uep )
goto usbhsh_urb_enqueue_error_free_device ;
}
pipe = usbhsh_uep_to_pipe ( uep ) ;
/*
* push packet
*/
if ( usb_pipecontrol ( urb - > pipe ) )
ret = usbhsh_dcp_queue_push ( hcd , pipe , urb , mem_flags ) ;
ret = usbhsh_dcp_queue_push ( hcd , urb , mem_flags ) ;
else
ret = usbhsh_queue_push ( hcd , pipe , urb , mem_flags ) ;
ret = usbhsh_queue_push ( hcd , urb , mem_flags ) ;
return ret ;