Commit 216e0e56 authored by Li Jun's avatar Li Jun Committed by Greg Kroah-Hartman
Browse files

usb: core: hcd: use map_urb_for_dma for single step set feature urb



Use map_urb_for_dma() to improve the dma map code for single step
set feature request urb in test mode.

Signed-off-by: default avatarLi Jun <jun.li@nxp.com>
Acked-by: default avatarAlan Stern <stern@rowland.harvard.edu>
Link: https://lore.kernel.org/r/1620452039-11694-3-git-send-email-jun.li@nxp.com


Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
parent cbbc07e1
Loading
Loading
Loading
Loading
+6 −10
Original line number Diff line number Diff line
@@ -2159,16 +2159,12 @@ static struct urb *request_single_step_set_feature_urb(
	usb_get_urb(urb);
	atomic_inc(&urb->use_count);
	atomic_inc(&urb->dev->urbnum);
	urb->setup_dma = dma_map_single(
			hcd->self.sysdev,
			urb->setup_packet,
			sizeof(struct usb_ctrlrequest),
			DMA_TO_DEVICE);
	urb->transfer_dma = dma_map_single(
			hcd->self.sysdev,
			urb->transfer_buffer,
			urb->transfer_buffer_length,
			DMA_FROM_DEVICE);
	if (map_urb_for_dma(hcd, urb, GFP_KERNEL)) {
		usb_put_urb(urb);
		usb_free_urb(urb);
		return NULL;
	}

	urb->context = done;
	return urb;
}