Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 02c3b4c7 authored by Al Cooper's avatar Al Cooper Committed by Felipe Balbi
Browse files

usb: gadget: bdc: fix a driver crash on disconnect



ep_dequeue() in bdc_ep.c was capturing the hw dequeue pointer
incorrectly by reading the wrong register for the upper 32 bits.

Signed-off-by: default avatarAl Cooper <alcooperx@gmail.com>
Signed-off-by: default avatarFelipe Balbi <balbi@ti.com>
parent cbfe8fa6
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -779,7 +779,7 @@ static int ep_dequeue(struct bdc_ep *ep, struct bdc_req *req)
	/* The current hw dequeue pointer */
	tmp_32 = bdc_readl(bdc->regs, BDC_EPSTS0(0));
	deq_ptr_64 = tmp_32;
	tmp_32 = bdc_readl(bdc->regs, BDC_EPSTS0(1));
	tmp_32 = bdc_readl(bdc->regs, BDC_EPSTS1(0));
	deq_ptr_64 |= ((u64)tmp_32 << 32);

	/* we have the dma addr of next bd that will be fetched by hardware */