usb: dwc2: host: Fix dereference issue in DDMA completion flow.
commit eed04fa96c48790c1cce73c8a248e9d460b088f8 upstream. Fixed variable dereference issue in DDMA completion flow. Fixes: b258e4268850 ("usb: dwc2: host: Fix ISOC flow in DDMA mode") CC: stable@vger.kernel.org Reported-by: Dan Carpenter <dan.carpenter@linaro.org> Closes: https://lore.kernel.org/linux-usb/2024040834-ethically-rumble-701f@gregkh/T/#m4c4b83bef0ebb4b67fe2e0a7d6466cbb6f416e39 Signed-off-by: Minas Harutyunyan <Minas.Harutyunyan@synopsys.com> Link: https://lore.kernel.org/r/cc826d3ef53c934d8e6d98870f17f3cdc3d2755d.1712665387.git.Minas.Harutyunyan@synopsys.com Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:
Родитель
7182175f56
Коммит
8aa5c28ac6
|
@ -897,13 +897,15 @@ static int dwc2_cmpl_host_isoc_dma_desc(struct dwc2_hsotg *hsotg,
|
||||||
struct dwc2_dma_desc *dma_desc;
|
struct dwc2_dma_desc *dma_desc;
|
||||||
struct dwc2_hcd_iso_packet_desc *frame_desc;
|
struct dwc2_hcd_iso_packet_desc *frame_desc;
|
||||||
u16 frame_desc_idx;
|
u16 frame_desc_idx;
|
||||||
struct urb *usb_urb = qtd->urb->priv;
|
struct urb *usb_urb;
|
||||||
u16 remain = 0;
|
u16 remain = 0;
|
||||||
int rc = 0;
|
int rc = 0;
|
||||||
|
|
||||||
if (!qtd->urb)
|
if (!qtd->urb)
|
||||||
return -EINVAL;
|
return -EINVAL;
|
||||||
|
|
||||||
|
usb_urb = qtd->urb->priv;
|
||||||
|
|
||||||
dma_sync_single_for_cpu(hsotg->dev, qh->desc_list_dma + (idx *
|
dma_sync_single_for_cpu(hsotg->dev, qh->desc_list_dma + (idx *
|
||||||
sizeof(struct dwc2_dma_desc)),
|
sizeof(struct dwc2_dma_desc)),
|
||||||
sizeof(struct dwc2_dma_desc),
|
sizeof(struct dwc2_dma_desc),
|
||||||
|
|
Загрузка…
Ссылка в новой задаче