]> git.baikalelectronics.ru Git - kernel.git/commit
atmel_serial: update the powersave handler to match serial core
authorAnti Sullin <anti.sullin@artecdesign.ee>
Mon, 22 Sep 2008 20:57:54 +0000 (13:57 -0700)
committerLinus Torvalds <torvalds@linux-foundation.org>
Tue, 23 Sep 2008 15:09:14 +0000 (08:09 -0700)
commitd12537e3c8eb9647e6803fa9a636f0cdc6cd39c9
treeca7ca069f5050ce31b0e621b6ec10bcc032dea40
parent200b7a41015e3834b6ca909923810afbee8b698e
atmel_serial: update the powersave handler to match serial core

This problem seems to be unnoticed so far:

http://git.kernel.org/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=93250b0251b6d959f063f6d62ea55792e325e851

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>
drivers/serial/atmel_serial.c