Skip to content

Commit

Permalink
---
Browse files Browse the repository at this point in the history
yaml
---
r: 235309
b: refs/heads/master
c: 16f08a0
h: refs/heads/master
i:
  235307: d6ccf0e
v: v3
  • Loading branch information
Fabian Godehardt authored and Greg Kroah-Hartman committed Feb 17, 2011
1 parent 960b5df commit fa2a320
Show file tree
Hide file tree
Showing 2 changed files with 16 additions and 2 deletions.
2 changes: 1 addition & 1 deletion [refs]
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
---
refs/heads/master: c17f459c6ea5b569825445279fa21adb3cf3067f
refs/heads/master: 16f08a08d8148945022eb7d5ebb89e6ee8029f91
16 changes: 15 additions & 1 deletion trunk/drivers/usb/gadget/s3c2410_udc.c
Original file line number Diff line number Diff line change
Expand Up @@ -902,7 +902,7 @@ static irqreturn_t s3c2410_udc_irq(int dummy, void *_dev)
int pwr_reg;
int ep0csr;
int i;
u32 idx;
u32 idx, idx2;
unsigned long flags;

spin_lock_irqsave(&dev->lock, flags);
Expand Down Expand Up @@ -1017,6 +1017,20 @@ static irqreturn_t s3c2410_udc_irq(int dummy, void *_dev)
}
}

/* what else causes this interrupt? a receive! who is it? */
if (!usb_status && !usbd_status && !pwr_reg && !ep0csr) {
for (i = 1; i < S3C2410_ENDPOINTS; i++) {
idx2 = udc_read(S3C2410_UDC_INDEX_REG);
udc_write(i, S3C2410_UDC_INDEX_REG);

if (udc_read(S3C2410_UDC_OUT_CSR1_REG) & 0x1)
s3c2410_udc_handle_ep(&dev->ep[i]);

/* restore index */
udc_write(idx2, S3C2410_UDC_INDEX_REG);
}
}

dprintk(DEBUG_VERBOSE, "irq: %d s3c2410_udc_done.\n", IRQ_USBD);

/* Restore old index */
Expand Down

0 comments on commit fa2a320

Please sign in to comment.