public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
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 */


  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