lkml.org 
[lkml]   [2011]   [Jan]   [19]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
Patch in this message
/
From
Date
SubjectRe: [PATCHv2] OMAP: Enable Magic SysRq on serial console ttyOx
On Wed, Jan 19, 2011 at 7:01 PM, Thomas Weber <weber@corscience.de> wrote:
> Am 19.01.2011 14:00, schrieb G, Manjunath Kondaiah:
>> On Wed, Jan 19, 2011 at 03:01:39PM +0530, Govindraj wrote:
>>> On Wed, Jan 19, 2011 at 2:11 PM, Thomas Weber <weber@corscience.de> wrote:
>>>> Magic SysRq key is not working for OMAP on new serial
>>>> console ttyOx because SUPPORT_SYSRQ is not defined
>>>> for omap-serial.
>>>>
>>>> This patch defines SUPPORT_SYSRQ in omap-serial and
>>>> enables handling of Magic SysRq character.
>>>>
>>>> Signed-off-by: Thomas Weber <weber@corscience.de>
>>>
>>> Looks fine to me.
>>>
>>> Acked-by: Govindraj.R <govindraj.raja@ti.com>
>> I tried to use SysRq key on minicom after applying this patch, it looks
>> like it is not triggering sysrq event.
>>
>> Am I missing anything?
>>
>> -Manjunath
>> --
> Hello Manjunath,
>
> Do you have CONFIG_MAGIC_SYSRQ enabled?
> Magic SysRq key in Kernel Hacking
>
> I tested it on Devkit8000 (beagle board clone).
>

re-setting lsr_break_flag to 0 in receive chars is causing issues
in getting sysrq key break sequence on omap-serial.c

Manju,

can you try this change on your environment.
With below change works for me on 3430SDP/4430SDP.
key sequence I checked.
[alt + b + t] => shows trace of tasks running.
[alt + b + b] => system reboot.


diff --git a/drivers/serial/omap-serial.c b/drivers/serial/omap-serial.c
index 1201eff..6df623e 100644
--- a/drivers/serial/omap-serial.c
+++ b/drivers/serial/omap-serial.c
@@ -20,6 +20,10 @@
* this driver as required for the omap-platform.
*/

+#if defined(CONFIG_SERIAL_OMAP_CONSOLE) && defined(CONFIG_MAGIC_SYSRQ)
+#define SUPPORT_SYSRQ
+#endif
+
#include <linux/module.h>
#include <linux/init.h>
#include <linux/console.h>
@@ -190,7 +194,6 @@ static inline void receive_chars(struct
uart_omap_port *up, int *status)
if (up->port.line == up->port.cons->index) {
/* Recover the break flag from console xmit */
lsr |= up->lsr_break_flag;
- up->lsr_break_flag = 0;
}
#endif
if (lsr & UART_LSR_BI)

--
Thanks,
Govindraj.R


\
 
 \ /
  Last update: 2011-01-19 15:01    [W:0.027 / U:0.096 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site