From: Greg KH <gregkh@suse.de>
To: linux-kernel@vger.kernel.org, stable@kernel.org
Cc: Justin Forbes <jmforbes@linuxtx.org>,
Zwane Mwaikambo <zwane@arm.linux.org.uk>,
"Theodore Ts'o" <tytso@mit.edu>,
Randy Dunlap <rdunlap@xenotime.net>,
Dave Jones <davej@redhat.com>,
Chuck Wolber <chuckw@quantumlinux.com>,
Chris Wedgwood <reviews@ml.cw.f00f.org>,
Michael Krufky <mkrufky@linuxtv.org>,
Chuck Ebbert <cebbert@redhat.com>,
Domenico Andreoli <cavokz@gmail.com>, Willy Tarreau <w@1wt.eu>,
Rodrigo Rubira Branco <rbranco@la.checkpoint.com>,
Jake Edge <jake@lwn.net>, Eugene Teo <eteo@redhat.com>,
torvalds@linux-foundation.org, akpm@linux-foundation.org,
alan@lxorguk.ukuu.org.uk, "Alexander V. Lukyanov" <lav@netis.ru>,
Tony Jones <tonyj@suse.de>
Subject: [patch 40/56] Revert "vt: fix background color on line feed"
Date: Tue, 10 Feb 2009 16:25:38 -0800 [thread overview]
Message-ID: <20090211002538.GO14660@kroah.com> (raw)
In-Reply-To: <20090211002328.GA14660@kroah.com>
[-- Attachment #1: revert-vt-fix-background-color-on-line-feed.patch --]
[-- Type: text/plain, Size: 7957 bytes --]
2.6.27-stable review patch. If anyone has any objections, please let us know.
------------------
From: Linus Torvalds <torvalds@linux-foundation.org>
commit 93f78da405685a756beeaeae4b5e41fcec39eab3 upstream.
This reverts commit c9e587abfdec2c2aaa55fab83bcb4972e2f84f9b, and the
subsequent commits that fixed it up:
- afa9b649 "fbcon: prevent cursor disappearance after switching to 512
character font"
- d850a2fa "vt/fbcon: fix background color on line feed"
- 7fe3915a "vt/fbcon: update scrl_erase_char after 256/512-glyph font
switch"
by request of Alan Cox. Quoth Alan:
"Unfortunately it's wrong and its been causing breakages because
various apps like ncurses expect our previous (and correct)
behaviour."
Alexander sent out a similar patch.
Requested-by: Alan Cox <alan@lxorguk.ukuu.org.uk>
Tested-by: Jan Engelhardt <jengelh@medozas.de>
Cc: Alexander V. Lukyanov <lav@netis.ru>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Cc: Tony Jones <tonyj@suse.de>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
---
drivers/char/vt.c | 5 ++---
drivers/video/console/fbcon.c | 39 ++++++++++-----------------------------
drivers/video/console/mdacon.c | 2 +-
drivers/video/console/sticon.c | 4 ++--
drivers/video/console/vgacon.c | 4 ++--
include/linux/console_struct.h | 1 -
6 files changed, 17 insertions(+), 38 deletions(-)
--- a/drivers/char/vt.c
+++ b/drivers/char/vt.c
@@ -301,7 +301,7 @@ static void scrup(struct vc_data *vc, un
d = (unsigned short *)(vc->vc_origin + vc->vc_size_row * t);
s = (unsigned short *)(vc->vc_origin + vc->vc_size_row * (t + nr));
scr_memmovew(d, s, (b - t - nr) * vc->vc_size_row);
- scr_memsetw(d + (b - t - nr) * vc->vc_cols, vc->vc_scrl_erase_char,
+ scr_memsetw(d + (b - t - nr) * vc->vc_cols, vc->vc_video_erase_char,
vc->vc_size_row * nr);
}
@@ -319,7 +319,7 @@ static void scrdown(struct vc_data *vc,
s = (unsigned short *)(vc->vc_origin + vc->vc_size_row * t);
step = vc->vc_cols * nr;
scr_memmovew(s + step, s, (b - t - nr) * vc->vc_size_row);
- scr_memsetw(s, vc->vc_scrl_erase_char, 2 * step);
+ scr_memsetw(s, vc->vc_video_erase_char, 2 * step);
}
static void do_update_region(struct vc_data *vc, unsigned long start, int count)
@@ -434,7 +434,6 @@ static void update_attr(struct vc_data *
vc->vc_blink, vc->vc_underline,
vc->vc_reverse ^ vc->vc_decscnm, vc->vc_italic);
vc->vc_video_erase_char = (build_attr(vc, vc->vc_color, 1, vc->vc_blink, 0, vc->vc_decscnm, 0) << 8) | ' ';
- vc->vc_scrl_erase_char = (build_attr(vc, vc->vc_def_color, 1, false, false, vc->vc_decscnm, false) << 8) | ' ';
}
/* Note: inverting the screen twice should revert to the original state */
--- a/drivers/video/console/fbcon.c
+++ b/drivers/video/console/fbcon.c
@@ -1855,8 +1855,6 @@ static int fbcon_scroll(struct vc_data *
struct fb_info *info = registered_fb[con2fb_map[vc->vc_num]];
struct display *p = &fb_display[vc->vc_num];
int scroll_partial = info->flags & FBINFO_PARTIAL_PAN_OK;
- unsigned short saved_ec;
- int ret;
if (fbcon_is_inactive(vc, info))
return -EINVAL;
@@ -1869,11 +1867,6 @@ static int fbcon_scroll(struct vc_data *
* whole screen (prevents flicker).
*/
- saved_ec = vc->vc_video_erase_char;
- vc->vc_video_erase_char = vc->vc_scrl_erase_char;
-
- ret = 0;
-
switch (dir) {
case SM_UP:
if (count > vc->vc_rows) /* Maximum realistic size */
@@ -1890,9 +1883,9 @@ static int fbcon_scroll(struct vc_data *
scr_memsetw((unsigned short *) (vc->vc_origin +
vc->vc_size_row *
(b - count)),
- vc->vc_scrl_erase_char,
+ vc->vc_video_erase_char,
vc->vc_size_row * count);
- ret = 1;
+ return 1;
break;
case SCROLL_WRAP_MOVE:
@@ -1962,10 +1955,9 @@ static int fbcon_scroll(struct vc_data *
scr_memsetw((unsigned short *) (vc->vc_origin +
vc->vc_size_row *
(b - count)),
- vc->vc_scrl_erase_char,
+ vc->vc_video_erase_char,
vc->vc_size_row * count);
- ret = 1;
- break;
+ return 1;
}
break;
@@ -1982,9 +1974,9 @@ static int fbcon_scroll(struct vc_data *
scr_memsetw((unsigned short *) (vc->vc_origin +
vc->vc_size_row *
t),
- vc->vc_scrl_erase_char,
+ vc->vc_video_erase_char,
vc->vc_size_row * count);
- ret = 1;
+ return 1;
break;
case SCROLL_WRAP_MOVE:
@@ -2052,15 +2044,12 @@ static int fbcon_scroll(struct vc_data *
scr_memsetw((unsigned short *) (vc->vc_origin +
vc->vc_size_row *
t),
- vc->vc_scrl_erase_char,
+ vc->vc_video_erase_char,
vc->vc_size_row * count);
- ret = 1;
- break;
+ return 1;
}
- break;
}
- vc->vc_video_erase_char = saved_ec;
- return ret;
+ return 0;
}
@@ -2522,9 +2511,6 @@ static int fbcon_do_set_font(struct vc_d
c = vc->vc_video_erase_char;
vc->vc_video_erase_char =
((c & 0xfe00) >> 1) | (c & 0xff);
- c = vc->vc_scrl_erase_char;
- vc->vc_scrl_erase_char =
- ((c & 0xFE00) >> 1) | (c & 0xFF);
vc->vc_attr >>= 1;
}
} else if (!vc->vc_hi_font_mask && cnt == 512) {
@@ -2555,14 +2541,9 @@ static int fbcon_do_set_font(struct vc_d
if (vc->vc_can_do_color) {
vc->vc_video_erase_char =
((c & 0xff00) << 1) | (c & 0xff);
- c = vc->vc_scrl_erase_char;
- vc->vc_scrl_erase_char =
- ((c & 0xFF00) << 1) | (c & 0xFF);
vc->vc_attr <<= 1;
- } else {
+ } else
vc->vc_video_erase_char = c & ~0x100;
- vc->vc_scrl_erase_char = c & ~0x100;
- }
}
}
--- a/drivers/video/console/mdacon.c
+++ b/drivers/video/console/mdacon.c
@@ -533,7 +533,7 @@ static void mdacon_cursor(struct vc_data
static int mdacon_scroll(struct vc_data *c, int t, int b, int dir, int lines)
{
- u16 eattr = mda_convert_attr(c->vc_scrl_erase_char);
+ u16 eattr = mda_convert_attr(c->vc_video_erase_char);
if (!lines)
return 0;
--- a/drivers/video/console/sticon.c
+++ b/drivers/video/console/sticon.c
@@ -170,12 +170,12 @@ static int sticon_scroll(struct vc_data
switch (dir) {
case SM_UP:
sti_bmove(sti, t + count, 0, t, 0, b - t - count, conp->vc_cols);
- sti_clear(sti, b - count, 0, count, conp->vc_cols, conp->vc_scrl_erase_char);
+ sti_clear(sti, b - count, 0, count, conp->vc_cols, conp->vc_video_erase_char);
break;
case SM_DOWN:
sti_bmove(sti, t, 0, t + count, 0, b - t - count, conp->vc_cols);
- sti_clear(sti, t, 0, count, conp->vc_cols, conp->vc_scrl_erase_char);
+ sti_clear(sti, t, 0, count, conp->vc_cols, conp->vc_video_erase_char);
break;
}
--- a/drivers/video/console/vgacon.c
+++ b/drivers/video/console/vgacon.c
@@ -1350,7 +1350,7 @@ static int vgacon_scroll(struct vc_data
} else
c->vc_origin += delta;
scr_memsetw((u16 *) (c->vc_origin + c->vc_screenbuf_size -
- delta), c->vc_scrl_erase_char,
+ delta), c->vc_video_erase_char,
delta);
} else {
if (oldo - delta < vga_vram_base) {
@@ -1363,7 +1363,7 @@ static int vgacon_scroll(struct vc_data
} else
c->vc_origin -= delta;
c->vc_scr_end = c->vc_origin + c->vc_screenbuf_size;
- scr_memsetw((u16 *) (c->vc_origin), c->vc_scrl_erase_char,
+ scr_memsetw((u16 *) (c->vc_origin), c->vc_video_erase_char,
delta);
}
c->vc_scr_end = c->vc_origin + c->vc_screenbuf_size;
--- a/include/linux/console_struct.h
+++ b/include/linux/console_struct.h
@@ -53,7 +53,6 @@ struct vc_data {
unsigned short vc_hi_font_mask; /* [#] Attribute set for upper 256 chars of font or 0 if not supported */
struct console_font vc_font; /* Current VC font set */
unsigned short vc_video_erase_char; /* Background erase character */
- unsigned short vc_scrl_erase_char; /* Erase character for scroll */
/* VT terminal data */
unsigned int vc_state; /* Escape sequence parser state */
unsigned int vc_npar,vc_par[NPAR]; /* Parameters of current escape sequence */
next prev parent reply other threads:[~2009-02-11 0:42 UTC|newest]
Thread overview: 59+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <20090211001439.873435357@mini.kroah.org>
2009-02-11 0:23 ` [patch 00/56] 2.6.27-stable review Greg KH
2009-02-11 0:24 ` [patch 01/56] ACPI: dock: Dont eval _STA on every show_docked sysfs read Greg KH
2009-02-11 0:24 ` [patch 02/56] ACPI: Enable bit 11 in _PDC to advertise hw coord Greg KH
2009-02-11 0:24 ` [patch 03/56] agp/intel: add support for G41 chipset Greg KH
2009-02-11 0:24 ` [patch 04/56] agp/intel: Fix broken ® symbol in device name Greg KH
2009-02-11 0:24 ` [patch 05/56] agp/intel: Reduce extraneous PCI posting reads during init Greg KH
2009-02-11 2:13 ` Keith Packard
2009-02-11 2:40 ` Greg KH
2009-02-11 0:24 ` [patch 06/56] e1000: fix bug with shared interrupt during reset Greg KH
2009-02-11 0:24 ` [patch 07/56] e1000: Fix PCI enable to honor the need_ioport flag Greg KH
2009-02-11 0:24 ` [patch 08/56] eeepc-laptop: fix oops when changing backlight brightness during eeepc-laptop init Greg KH
2009-02-11 0:24 ` [patch 09/56] md: Ensure an md array never has too many devices Greg KH
2009-02-11 0:24 ` [patch 10/56] module: remove over-zealous check in __module_get() Greg KH
2009-02-11 0:24 ` [patch 11/56] prevent kprobes from catching spurious page faults Greg KH
2009-02-11 0:24 ` [patch 12/56] sgi-xp: fix writing past the end of kzalloc()d space Greg KH
2009-02-11 0:24 ` [patch 13/56] shm: fix shmctl(SHM_INFO) lockup with !CONFIG_SHMEM Greg KH
2009-02-11 0:24 ` [patch 14/56] sound: usb-audio: handle wMaxPacketSize for FIXED_ENDPOINT devices Greg KH
2009-02-11 0:24 ` [patch 15/56] wait: prevent exclusive waiter starvation Greg KH
2009-02-11 0:24 ` [patch 16/56] x86: APIC: enable workaround on AMD Fam10h CPUs Greg KH
2009-02-11 0:24 ` [patch 17/56] ieee1394: ohci1394: increase AT req. retries, fix ack_busy_X from Panasonic camcorders and others Greg KH
2009-02-11 0:24 ` [patch 18/56] firewire: ohci: " Greg KH
2009-02-11 0:24 ` [patch 19/56] firewire: sbp2: fix DMA mapping leak on the failure path Greg KH
2009-02-11 0:24 ` [patch 20/56] firewire: sbp2: add workarounds for 2nd and 3rd generation iPods Greg KH
2009-02-11 0:24 ` [patch 21/56] ieee1394: " Greg KH
2009-02-11 0:25 ` [patch 22/56] 8250_pci: add support for netmos 9835 IBM devices Greg KH
2009-02-11 0:25 ` [patch 23/56] ACPICA: Fix table entry truncation calculation Greg KH
2009-02-11 0:25 ` [patch 24/56] ACPI: disable ACPI cleanly when bad RSDP found Greg KH
2009-02-11 0:25 ` [patch 25/56] ACPI: proc_dir_entry video/VGA already registered Greg KH
2009-02-11 0:25 ` [patch 26/56] ACPI: Skip the first two elements in the _BCL package Greg KH
2009-02-11 0:25 ` [patch 27/56] Add support for 8-port RS-232 MIC-3620 from advantech Greg KH
2009-02-11 0:25 ` [patch 28/56] ALSA: hda - Add missing COEF initialization for ALC887 Greg KH
2009-02-11 0:25 ` [patch 29/56] ALSA: hda - Add missing initialization for ALC272 Greg KH
2009-02-11 0:25 ` [patch 30/56] ALSA: hda - Add quirk for FSC Amilo Xi2550 Greg KH
2009-02-11 0:25 ` [patch 31/56] PCI: properly clean up ASPM link state on device remove Greg KH
2009-02-11 0:25 ` [patch 32/56] PCI: return error on failure to read PCI ROMs Greg KH
2009-02-11 0:25 ` [patch 33/56] seq_file: move traverse so it can be used from seq_read Greg KH
2009-02-11 0:25 ` [patch 34/56] seq_file: fix big-enough lseek() + read() Greg KH
2009-02-11 0:25 ` [patch 35/56] serial: set correct baud_base for Oxford Semiconductor Ltd EXSYS EX-41092 Dual 16950 Serial adapter Greg KH
2009-02-11 0:25 ` [patch 36/56] elf core dump: fix get_user use Greg KH
2009-02-11 0:25 ` [patch 37/56] XFS: set b_error from bio error in xfs_buf_bio_end_io Greg KH
2009-02-11 0:25 ` [patch 38/56] Add a reference to sunrpc in svc_addsock Greg KH
2009-02-11 0:25 ` [patch 39/56] mm: remove UP version of lru_add_drain_all() Greg KH
2009-02-11 0:25 ` Greg KH [this message]
2009-02-11 0:25 ` [patch 41/56] md: Dont try to set an array to read-auto if it is already in that state Greg KH
2009-02-11 0:25 ` [patch 42/56] md: Allow metadata_version to be updated for externally managed metadata Greg KH
2009-02-11 0:25 ` [patch 43/56] ipw2200: fix scanning while associated Greg KH
2009-02-11 0:25 ` [patch 44/56] hso: rfkill type should be WWAN Greg KH
2009-02-11 0:25 ` [patch 45/56] dm mpath: avoid attempting to activate null path Greg KH
2009-02-11 0:25 ` [patch 46/56] ACPICA: Copy dynamically loaded tables to local buffer Greg KH
2009-02-11 0:25 ` [patch 47/56] ACPICA: Add function to dereference returned reference objects Greg KH
2009-02-11 0:25 ` [patch 48/56] ACPI: dont load acpi_cpufreq if acpi=off Greg KH
2009-02-11 0:25 ` [patch 49/56] ACPI: video: Fix reversed brightness behavior on ThinkPad SL series Greg KH
2009-02-11 0:25 ` [patch 50/56] Revert USB: option: add Pantech cards Greg KH
2009-02-11 0:25 ` [patch 51/56] USB: new id for ti_usb_3410_5052 driver Greg KH
2009-02-11 0:26 ` [patch 52/56] USB: option: New mobile broadband modems to be supported Greg KH
2009-02-11 0:26 ` [patch 53/56] USB: two more usb ids for ti_usb_3410_5052 Greg KH
2009-02-11 0:26 ` [patch 54/56] USB: usb-storage: add Pentax to the bad-vendor list Greg KH
2009-02-11 0:26 ` [patch 55/56] sctp: Fix another socket race during accept/peeloff Greg KH
2009-02-11 0:26 ` [patch 56/56] genirq: NULL struct irq_descs member name in dynamic_irq_cleanup() Greg KH
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20090211002538.GO14660@kroah.com \
--to=gregkh@suse.de \
--cc=akpm@linux-foundation.org \
--cc=alan@lxorguk.ukuu.org.uk \
--cc=cavokz@gmail.com \
--cc=cebbert@redhat.com \
--cc=chuckw@quantumlinux.com \
--cc=davej@redhat.com \
--cc=eteo@redhat.com \
--cc=jake@lwn.net \
--cc=jmforbes@linuxtx.org \
--cc=lav@netis.ru \
--cc=linux-kernel@vger.kernel.org \
--cc=mkrufky@linuxtv.org \
--cc=rbranco@la.checkpoint.com \
--cc=rdunlap@xenotime.net \
--cc=reviews@ml.cw.f00f.org \
--cc=stable@kernel.org \
--cc=tonyj@suse.de \
--cc=torvalds@linux-foundation.org \
--cc=tytso@mit.edu \
--cc=w@1wt.eu \
--cc=zwane@arm.linux.org.uk \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox