All of lore.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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.