19 Sep 17:10
[PATCH] atmel_serial: update the powersave handler to match serial core
From: Haavard Skinnemoen <haavard.skinnemoen <at> atmel.com>
Subject: [PATCH] atmel_serial: update the powersave handler to match serial core
Newsgroups: gmane.linux.serial, gmane.linux.kernel
Date: 2008-09-19 15:11:51 GMT
Subject: [PATCH] atmel_serial: update the powersave handler to match serial core
Newsgroups: gmane.linux.serial, gmane.linux.kernel
Date: 2008-09-19 15:11:51 GMT
From: Anti Sullin <anti.sullin <at> artecdesign.ee> 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 <at> artecdesign.ee> Signed-off-by: Haavard Skinnemoen <haavard.skinnemoen <at> atmel.com> --- drivers/serial/atmel_serial.c | 33 ++++++++++++++++++++------------- 1 files changed, 20 insertions(+), 13 deletions(-) diff --git a/drivers/serial/atmel_serial.c b/drivers/serial/atmel_serial.c index 3a6da80..eeb2ca3 100644 --- a/drivers/serial/atmel_serial.c +++ b/drivers/serial/atmel_serial.c @@ -131,7 +131,8 @@ struct atmel_uart_char { struct atmel_uart_port { struct uart_port uart; /* uart */(Continue reading)
RSS Feed