diff options
author | Russell King <rmk+kernel@arm.linux.org.uk> | 2010-05-17 12:24:04 -0400 |
---|---|---|
committer | Russell King <rmk+kernel@arm.linux.org.uk> | 2010-05-17 12:24:04 -0400 |
commit | ac1d426e825ab5778995f2f6f053ca2e6b45c622 (patch) | |
tree | 75b91356ca39463e0112931aa6790802fb1e07a2 /drivers/usb/gadget/at91_udc.c | |
parent | fda0e18c8a7a3e02747c2b045b4fcd2c920410b9 (diff) | |
parent | a3685f00652af83f12b63e3b4ef48f29581ba48b (diff) |
Merge branch 'devel-stable' into devel
Conflicts:
arch/arm/Kconfig
arch/arm/include/asm/system.h
arch/arm/mm/Kconfig
Diffstat (limited to 'drivers/usb/gadget/at91_udc.c')
-rw-r--r-- | drivers/usb/gadget/at91_udc.c | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/drivers/usb/gadget/at91_udc.c b/drivers/usb/gadget/at91_udc.c index b3bd22ef82ba..eaa79c8a9b8c 100644 --- a/drivers/usb/gadget/at91_udc.c +++ b/drivers/usb/gadget/at91_udc.c | |||
@@ -1377,6 +1377,12 @@ static irqreturn_t at91_udc_irq (int irq, void *_udc) | |||
1377 | { | 1377 | { |
1378 | struct at91_udc *udc = _udc; | 1378 | struct at91_udc *udc = _udc; |
1379 | u32 rescans = 5; | 1379 | u32 rescans = 5; |
1380 | int disable_clock = 0; | ||
1381 | |||
1382 | if (!udc->clocked) { | ||
1383 | clk_on(udc); | ||
1384 | disable_clock = 1; | ||
1385 | } | ||
1380 | 1386 | ||
1381 | while (rescans--) { | 1387 | while (rescans--) { |
1382 | u32 status; | 1388 | u32 status; |
@@ -1465,6 +1471,9 @@ static irqreturn_t at91_udc_irq (int irq, void *_udc) | |||
1465 | } | 1471 | } |
1466 | } | 1472 | } |
1467 | 1473 | ||
1474 | if (disable_clock) | ||
1475 | clk_off(udc); | ||
1476 | |||
1468 | return IRQ_HANDLED; | 1477 | return IRQ_HANDLED; |
1469 | } | 1478 | } |
1470 | 1479 | ||