f05596dbc9
This problem seems to be unnoticed so far: http://git.kernel.org/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=b3b708fa2780cd2b5d8266a8f0c3a1cab364d4d2 has changed the serial core behavior to not to suspend the port if the device is enabled as a wakeup source. If the AT91 system goes to slow clock mode, the port should be suspended always and the clocks should be switched off. The patch attached updates the atmel_serial driver to match the changes in serial core. Also, the interrupts are disabled when the clock is disabled. If we disable the clock with interrupts enabled, an interrupt may get stuck. If this is the DBGU interrupt, this blocks the OR logic at system controller and thus all other sysc interrupts. Signed-off-by: Anti Sullin <anti.sullin@artecdesign.ee> Signed-off-by: Haavard Skinnemoen <haavard.skinnemoen@atmel.com> Cc: Michael Trimarchi <trimarchimichael@yahoo.it> Cc: Andrew Victor <linux@maxim.org.za> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org> |
||
---|---|---|
.. | ||
cpm_uart | ||
jsm | ||
8250.c | ||
8250.h | ||
8250_accent.c | ||
8250_acorn.c | ||
8250_boca.c | ||
8250_early.c | ||
8250_exar_st16c554.c | ||
8250_fourport.c | ||
8250_gsc.c | ||
8250_hp300.c | ||
8250_hub6.c | ||
8250_mca.c | ||
8250_pci.c | ||
8250_pnp.c | ||
21285.c | ||
68328serial.c | ||
68328serial.h | ||
68360serial.c | ||
amba-pl010.c | ||
amba-pl011.c | ||
atmel_serial.c | ||
bfin_5xx.c | ||
bfin_sport_uart.c | ||
bfin_sport_uart.h | ||
clps711x.c | ||
crisv10.c | ||
crisv10.h | ||
dz.c | ||
dz.h | ||
icom.c | ||
icom.h | ||
imx.c | ||
ioc3_serial.c | ||
ioc4_serial.c | ||
ip22zilog.c | ||
ip22zilog.h | ||
Kconfig | ||
kgdboc.c | ||
m32r_sio.c | ||
m32r_sio.h | ||
m32r_sio_reg.h | ||
Makefile | ||
mcf.c | ||
mcfserial.c | ||
mcfserial.h | ||
mpc52xx_uart.c | ||
mpsc.c | ||
mux.c | ||
netx-serial.c | ||
of_serial.c | ||
pmac_zilog.c | ||
pmac_zilog.h | ||
pnx8xxx_uart.c | ||
pxa.c | ||
s3c2400.c | ||
s3c2410.c | ||
s3c2412.c | ||
s3c2440.c | ||
sa1100.c | ||
samsung.c | ||
samsung.h | ||
sb1250-duart.c | ||
sc26xx.c | ||
serial_core.c | ||
serial_cs.c | ||
serial_ks8695.c | ||
serial_lh7a40x.c | ||
serial_txx9.c | ||
sh-sci.c | ||
sh-sci.h | ||
sn_console.c | ||
suncore.c | ||
suncore.h | ||
sunhv.c | ||
sunsab.c | ||
sunsab.h | ||
sunsu.c | ||
sunzilog.c | ||
sunzilog.h | ||
uartlite.c | ||
ucc_uart.c | ||
vr41xx_siu.c | ||
zs.c | ||
zs.h |