diff options
author | dumbbell <dumbbell@FreeBSD.org> | 2014-10-14 19:10:00 +0000 |
---|---|---|
committer | dumbbell <dumbbell@FreeBSD.org> | 2014-10-14 19:10:00 +0000 |
commit | ff0bc910ff5c713596f6c393c764d1939f6cd193 (patch) | |
tree | a598efe1667f7722e9390015f85b696c12e62bbd /sys/dev | |
parent | 9d276cdd7f6a2fb61179b38ff84b984e61c512ff (diff) | |
download | FreeBSD-src-ff0bc910ff5c713596f6c393c764d1939f6cd193.zip FreeBSD-src-ff0bc910ff5c713596f6c393c764d1939f6cd193.tar.gz |
vt(4): Don't recalculate buffer size if we don't know screen size
MF10: r273037
MFC: r272537
When the screen size is unknown, it's set to 0x0. We can't use that as
the buffer size, otherwise, functions such as vtbuf_fill() will fail.
This fixes a panic on RaspberryPi, where there's no vt(4) backend
configured early in boot.
PR: 193981
Tested by: danilo@
Approved by: re (marius)
Diffstat (limited to 'sys/dev')
-rw-r--r-- | sys/dev/vt/vt_core.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/sys/dev/vt/vt_core.c b/sys/dev/vt/vt_core.c index 2dd7e3f..67d4348 100644 --- a/sys/dev/vt/vt_core.c +++ b/sys/dev/vt/vt_core.c @@ -1269,7 +1269,8 @@ vtterm_cnprobe(struct terminal *tm, struct consdev *cp) * that we have the real viewable size, fix it in the static * buffer. */ - vt_termsize(vd, vw->vw_font, &vw->vw_buf.vb_scr_size); + if (vd->vd_width != 0 && vd->vd_height != 0) + vt_termsize(vd, vw->vw_font, &vw->vw_buf.vb_scr_size); vtbuf_init_early(&vw->vw_buf); vt_winsize(vd, vw->vw_font, &wsz); |