Revert "tty: Set correct tty name in 'active' sysfs attribute"

This reverts commit d8a5dc3033.

This breaks plymouth installs, either because plymouth is using the file
"incorrectly" or because the patch is incorrect.  Either way, this needs
to be reverted until it is all figured out.

Reported-by: Josh Boyer <jwboyer@fedoraproject.org>
Reported-by: Ray Strode <halfline@gmail.com>
Cc: Lennart Poettering <lennart@poettering.net>
Cc: Kay Sievers <kay@vrfy.org>
Cc: Jiri Slaby <jslaby@suse.cz>
Cc: David Herrmann <dh.herrmann@gmail.com>
Cc: Werner Fink <werner@suse.de>
Cc: Hannes Reinecke <hare@suse.de>
Cc: stable <stable@vger.kernel.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:
Greg Kroah-Hartman 2014-02-22 14:31:04 -08:00
parent 6d0abeca32
commit 5c0a2450d6
2 changed files with 8 additions and 20 deletions

View File

@ -3,8 +3,7 @@ Date: Nov 2010
Contact: Kay Sievers <kay.sievers@vrfy.org>
Description:
Shows the list of currently configured
tty devices used for the console,
like 'tty1 ttyS0'.
console devices, like 'tty1 ttyS0'.
The last entry in the file is the active
device connected to /dev/console.
The file supports poll() to detect virtual

View File

@ -1267,17 +1267,16 @@ static void pty_line_name(struct tty_driver *driver, int index, char *p)
* @p: output buffer of at least 7 bytes
*
* Generate a name from a driver reference and write it to the output
* buffer. Return the number of bytes written.
* buffer.
*
* Locking: None
*/
static ssize_t tty_line_name(struct tty_driver *driver, int index, char *p)
static void tty_line_name(struct tty_driver *driver, int index, char *p)
{
if (driver->flags & TTY_DRIVER_UNNUMBERED_NODE)
return sprintf(p, "%s", driver->name);
strcpy(p, driver->name);
else
return sprintf(p, "%s%d", driver->name,
index + driver->name_base);
sprintf(p, "%s%d", driver->name, index + driver->name_base);
}
/**
@ -3546,19 +3545,9 @@ static ssize_t show_cons_active(struct device *dev,
if (i >= ARRAY_SIZE(cs))
break;
}
while (i--) {
struct tty_driver *driver;
const char *name = cs[i]->name;
int index = cs[i]->index;
driver = cs[i]->device(cs[i], &index);
if (driver) {
count += tty_line_name(driver, index, buf + count);
count += sprintf(buf + count, "%c", i ? ' ':'\n');
} else
while (i--)
count += sprintf(buf + count, "%s%d%c",
name, index, i ? ' ':'\n');
}
cs[i]->name, cs[i]->index, i ? ' ':'\n');
console_unlock();
return count;