diff --git a/drivers/usb/renesas_usbhs/mod_host.c b/drivers/usb/renesas_usbhs/mod_host.c index e09b64a92a4e..887cf686bca9 100644 --- a/drivers/usb/renesas_usbhs/mod_host.c +++ b/drivers/usb/renesas_usbhs/mod_host.c @@ -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;