Re: [PATCHv2] OMAP: Enable Magic SysRq on serial console ttyOx

From: Govindraj
Date: Wed Jan 19 2011 - 08:59:22 EST


On Wed, Jan 19, 2011 at 7:01 PM, Thomas Weber <weber@xxxxxxxxxxxxx> 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@xxxxxxxxxxxxx> 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@xxxxxxxxxxxxx>
>>>
>>> Looks fine to me.
>>>
>>> Acked-by: Govindraj.R <govindraj.raja@xxxxxx>
>> 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
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/