[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <20130301.170056.382924644594872197.davem@davemloft.net>
Date: Fri, 01 Mar 2013 17:00:56 -0500 (EST)
From: David Miller <davem@...emloft.net>
To: gregkh@...uxfoundation.org
Cc: linux-kernel@...r.kernel.org, jslaby@...e.cz
Subject: Re: WARNING at tty_buffer.c:428 process_one_work()
From: David Miller <davem@...emloft.net>
Date: Fri, 01 Mar 2013 16:47:11 -0500 (EST)
>
> I'm getting these non-stop right when the hypervisor console registers
> on sparc64, and the machine won't boot up properly. This is with
> Linus's current tree.
As a quick addendum I'm looking at all of these tty_insert_flip_char()
conversions and I'm extremely disappointed.
Let's just look at just two of the sparc drivers converted in commit
92a19f9cec9a80ad93c06e115822deb729e2c6ad, namely sunhv.c and sunsab.c.
The changes to the uart_handle_sysrq_char() call sites are handled
completely differently in these two drivers, in nearly identical
situations. How can this be correct?
In the sunhv.c case the uart_handle_sysrq_char() call is preserved
but the guarding test is changed from:
if (tty == NULL)
into
if (port->start == NULL)
Whereas in the sunsab.c case, the entire guarding test as well as
the uart_handle_sysrq_char() invocation itself are both
completly removed.
How in the world can that be right?
Either the receive_chars() method's invocations of
uart_handle_sysrq_char() should be retained, or this sysrq processing
is handled now elsewhere and in which case that should be documented
clearly and in detail in the commit log message.
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists