Re: [PATCH 3.13 35/99] tty: Set correct tty name in active sysfs attribute

From: David Herrmann
Date: Sat Feb 22 2014 - 09:27:58 EST


Hi

On Sat, Feb 22, 2014 at 4:16 PM, Hannes Reinecke <hare@xxxxxxx> wrote:
> On 02/21/2014 11:18 PM, Ray Strode wrote:
>>
>> Hi,
>>
>> On Fri, Feb 21, 2014 at 3:21 PM, Greg Kroah-Hartman
>> <gregkh@xxxxxxxxxxxxxxxxxxx> wrote:
>>>
>>> Ray, Josh, can I get some more information about this? Is this broken
>>> in Linus's tree? Or did I get the backport wrong here?
>>
>> I don't think it's a problem with the backport specifically. To be
>> honest, i'm not even 100% sure it is that patch. It was just the only
>> patch that touched that code recently so it seemed likely. I didn't
>> do builds to check for sure.
>>
>>> What is the value of the file before and after this patch?
>>
>> "tty0" in the past and "tty1" now
>>
>>> And what is plymouth doing with this file value, it was incorrect
>>> before, what was it using the value for?
>>
>> See the other (3.11) thread for my initial message, but basically
>> plymouth had code something like this pseudocode:
>>
>> /* disable splash if there are serial consoles */
>> if (!contents_of_file_equals("/sys/class/tty/console/active", "tty0")) {
>> disable_splash_and_force_verbose_messages();
>> }
>>
>> since the file started saying tty1 that code started disabling the
>> splash for everyone in rawhide.
>>
> <sigh>
>
> And of course, checking for "!tty0" is the proper check for serial console.
> Which, of course, means we have to stay with a broken kernel interface for
> ever and ever.
>
> Innovation, here we come.
>
> </sigh>
>

How about this:

+ driver = cs[i]->device(cs[i], &index);
+ /* special case for tty0 which must not be resolved */
+ if (driver && (index > 0 || cs[i]->major != TTY_MAJOR)) {
+ count += tty_line_name(driver, index, buf + count);
+ count += sprintf(buf + count, "%c", i ? ' ':'\n');
+ } else
+ count += sprintf(buf + count, "%s%d%c",
+ name, index, i ? ' ':'\n');

Regards
David
--
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/