USB: s3c-hsotg: Check for new request before enqueing new setup
Before trying a new setup transaction after getting an EP0 in complete interrupt, check that the driver did not try and send more EP0 IN data before enqueing a new setup transaction. This fixes a bug where we cannot send all of the IN data in one go so split the transfer, but then fail to send all the data as we start waiting for a new OUT transaction Signed-off-by: Ben Dooks <ben-linux@fluff.org> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
This commit is contained in:
parent
03e10e5ab5
commit
c9a64ea884
|
@ -1790,7 +1790,7 @@ static void s3c_hsotg_epint(struct s3c_hsotg *hsotg, unsigned int idx,
|
|||
if (dir_in) {
|
||||
s3c_hsotg_complete_in(hsotg, hs_ep);
|
||||
|
||||
if (idx == 0)
|
||||
if (idx == 0 && !hs_ep->req)
|
||||
s3c_hsotg_enqueue_setup(hsotg);
|
||||
} else if (using_dma(hsotg)) {
|
||||
/* We're using DMA, we need to fire an OutDone here
|
||||
|
|
Loading…
Reference in New Issue