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

Commit b963a81a authored by Robert Baldyga's avatar Robert Baldyga Committed by Felipe Balbi
Browse files

usb: gadget: s3c-hsotg: add flush TX FIFO when kill all requests



This patch adds flushing TX FIFO in kill_all_requests() function in
dedicated-fifo mode. It's because when requests are killed (when endpoint is
disabled or in case of device reset/disconnection) in FIFO can stay some
unsent data. In the worst case FIFO can stay full, and then if endpoint will
be back enabled, sending new data will be impossible.

Signed-off-by: default avatarRobert Baldyga <r.baldyga@samsung.com>
Signed-off-by: default avatarKyungmin Park <kyungmin.park@samsung.com>
Signed-off-by: default avatarFelipe Balbi <balbi@ti.com>
parent 295538ff
Loading
Loading
Loading
Loading
+3 −0
Original line number Diff line number Diff line
@@ -2150,6 +2150,9 @@ static void kill_all_requests(struct s3c_hsotg *hsotg,
		s3c_hsotg_complete_request(hsotg, ep, req,
					   result);
	}
	if(hsotg->dedicated_fifos)
		if ((readl(hsotg->regs + DTXFSTS(ep->index)) & 0xffff) * 4 < 3072)
			s3c_hsotg_txfifo_flush(hsotg, ep->index);
}

#define call_gadget(_hs, _entry) \