diff options
Diffstat (limited to 'drivers/tty')
| -rw-r--r-- | drivers/tty/hvc/hvc_xen.c | 5 | ||||
| -rw-r--r-- | drivers/tty/serial/kgdboc.c | 3 | ||||
| -rw-r--r-- | drivers/tty/vt/vt.c | 13 | 
3 files changed, 19 insertions, 2 deletions
diff --git a/drivers/tty/hvc/hvc_xen.c b/drivers/tty/hvc/hvc_xen.c index 2944ff88fdc..f4abfe238f9 100644 --- a/drivers/tty/hvc/hvc_xen.c +++ b/drivers/tty/hvc/hvc_xen.c @@ -478,7 +478,6 @@ static void xencons_backend_changed(struct xenbus_device *dev,  	case XenbusStateInitialising:  	case XenbusStateInitialised:  	case XenbusStateUnknown: -	case XenbusStateClosed:  		break;  	case XenbusStateInitWait: @@ -488,6 +487,10 @@ static void xencons_backend_changed(struct xenbus_device *dev,  		xenbus_switch_state(dev, XenbusStateConnected);  		break; +	case XenbusStateClosed: +		if (dev->state == XenbusStateClosed) +			break; +		/* Missed the backend's CLOSING state -- fallthrough */  	case XenbusStateClosing:  		xenbus_frontend_closed(dev);  		break; diff --git a/drivers/tty/serial/kgdboc.c b/drivers/tty/serial/kgdboc.c index c0b334327d9..10020547c60 100644 --- a/drivers/tty/serial/kgdboc.c +++ b/drivers/tty/serial/kgdboc.c @@ -97,7 +97,8 @@ static void kgdboc_restore_input(void)  static int kgdboc_register_kbd(char **cptr)  { -	if (strncmp(*cptr, "kbd", 3) == 0) { +	if (strncmp(*cptr, "kbd", 3) == 0 || +		strncmp(*cptr, "kdb", 3) == 0) {  		if (kdb_poll_idx < KDB_POLL_FUNC_MAX) {  			kdb_poll_funcs[kdb_poll_idx] = kdb_get_kbd_char;  			kdb_poll_idx++; diff --git a/drivers/tty/vt/vt.c b/drivers/tty/vt/vt.c index 999ca63afde..f87d7e8964b 100644 --- a/drivers/tty/vt/vt.c +++ b/drivers/tty/vt/vt.c @@ -3442,6 +3442,19 @@ int con_debug_enter(struct vc_data *vc)  			kdb_set(2, setargs);  		}  	} +	if (vc->vc_cols < 999) { +		int colcount; +		char cols[4]; +		const char *setargs[3] = { +			"set", +			"COLUMNS", +			cols, +		}; +		if (kdbgetintenv(setargs[0], &colcount)) { +			snprintf(cols, 4, "%i", vc->vc_cols); +			kdb_set(2, setargs); +		} +	}  #endif /* CONFIG_KGDB_KDB */  	return ret;  }  |