Re: [PATCH] serial: msm: Add magic SysRq support in dmmode

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 29/10/14 18:01, Stephen Boyd wrote:
> On 10/29/2014 09:38 AM, Daniel Thompson wrote:
>> Currently the _dm RX handler detects breaks but does not pass any
>> characters to uart_handle_sysrq_char().
>>
>> The _dm optimizations combined with the port's spin lock make if
>> difficult to pass all characters to the sysrq logic because we cannot
>> safely call uart_handle_sysrq_char() when the lock is held without
>> deadlock (the console handler also takes the lock).
>>
>> Rather than passing all characters via uart_handle_sysrq_char() this patch
>> only passes the last few characters in the FIFO. This should include all
>> characters typed as a slow (human) rate. This makes the problem much
>> simpler and allows us to move the handling of these characters outside
>> of the port lock. This makes magic SysRq work if there is a human at
>> the keyboard (or a short delay in a script).
>>
>> Signed-off-by: Daniel Thompson <daniel.thompson@xxxxxxxxxx>
>> ---
> 
> I have a patch that I was going to send for this (Frank R. and I have
> been looking at it since a month or two ago). This patch doesn't look
> correct given that the SR register is not actually accurate and doesn't
> indicate that a break is there in the fifo. I'll Cc you on the patch,
> please test it.

Testing on IFC6410 is mostly OK.

Most sysrq actions work fine but resume from kdb is extremely
unreliable; in most cases is kills the serial RX ('echo g >
/proc/sysrq-trigger' shows that characters are still going into the FIFO
but never get to the interrupt handler).

However, this is not a regression versus my patch, resume was not
reliable with my patch either.
--
To unsubscribe from this list: send the line "unsubscribe linux-arm-msm" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html




[Index of Archives]     [Linux ARM Kernel]     [Linux ARM]     [Linux Omap]     [Fedora ARM]     [Linux for Sparc]     [IETF Annouce]     [Security]     [Bugtraq]     [Linux MIPS]     [ECOS]     [Asterisk Internet PBX]     [Linux API]

  Powered by Linux