Revert "kern: console: make /dev/console backing console more predictable"

This accidentally snuck into a different branch, and has not been
reviewed for sanity yet..

This reverts commit 8ec6d7be2e.
This commit is contained in:
Kyle Evans 2024-01-05 10:13:06 -06:00
parent f9b17005bf
commit a68d5a6625

View file

@ -239,31 +239,15 @@ cnremove(struct consdev *cn)
{
struct cn_device *cnd;
int i;
bool primary = true;
STAILQ_FOREACH(cnd, &cn_devlist, cnd_next) {
if (cnd->cnd_cn != cn) {
primary = false;
if (cnd->cnd_cn != cn)
continue;
}
if (STAILQ_FIRST(&cn_devlist) == cnd)
ttyconsdev_select(NULL);
STAILQ_REMOVE(&cn_devlist, cnd, cn_device, cnd_next);
cnd->cnd_cn = NULL;
/*
* We only need to select a new console if we've removed all
* consoles or if we're removing the primary console.
*/
if (primary) {
struct cn_device *next;
next = STAILQ_FIRST(&cn_devlist);
if (next == NULL)
ttyconsdev_select(NULL);
else
ttyconsdev_select(next->cnd_cn->cn_name);
}
/* Remove this device from available mask. */
for (i = 0; i < CNDEVTAB_SIZE; i++)
if (cnd == &cn_devtab[i]) {
@ -372,6 +356,8 @@ sysctl_kern_console(SYSCTL_HANDLER_ARGS)
error = 0;
} else {
error = cnadd(cp);
if (error == 0)
cnselect(cp);
}
break;
}