Home Home > GIT Browse > SLE12-SP4
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorEgbert Eich <eich@suse.de>2011-09-27 22:25:34 +0200
committerEgbert Eich <eich@suse.de>2011-09-27 22:27:57 +0200
commitba0cfdcb4a536831694e3844d9ecdb3870506e6b (patch)
tree8e11d5b56868e6e57cb2bb3ff3267205186f7635
parent83dbeeeef6daafba2b0b345028a450ff9995ec3e (diff)
Refresh patches.suse/SUSE-bootsplash.
Fix crash when updating boxes: Don't reallocate picture.
-rw-r--r--patches.suse/SUSE-bootsplash122
1 files changed, 39 insertions, 83 deletions
diff --git a/patches.suse/SUSE-bootsplash b/patches.suse/SUSE-bootsplash
index 7d92e5e100..1bd33d99ea 100644
--- a/patches.suse/SUSE-bootsplash
+++ b/patches.suse/SUSE-bootsplash
@@ -17,6 +17,9 @@ References: bnc#669777, bnc#570082, bnc#595657, bnc#594209, bnc#544645
These framebuffers are rare these days, the legendary and still
popular server chipset Radeon ES1000 supports it, though.
+ * Fix crash when updating boxes:
+ Don't reallocate picture.
+
Signed-off-by: Egbert Eich <eich@suse.de>
---
drivers/tty/n_tty.c | 11
@@ -26,17 +29,17 @@ Signed-off-by: Egbert Eich <eich@suse.de>
drivers/video/Makefile | 1
drivers/video/bootsplash/Kconfig | 17
drivers/video/bootsplash/Makefile | 5
- drivers/video/bootsplash/bootsplash.c | 2416 ++++++++++++++++++++++++++++++++++
- drivers/video/bootsplash/decode-jpg.c | 998 ++++++++++++++
- drivers/video/bootsplash/decode-jpg.h | 36
+ drivers/video/bootsplash/bootsplash.c | 2473 ++++++++++++++++++++++++++++++++++
+ drivers/video/bootsplash/decode-jpg.c | 1045 ++++++++++++++
+ drivers/video/bootsplash/decode-jpg.h | 37
drivers/video/bootsplash/render.c | 491 ++++++
drivers/video/console/bitblit.c | 31
drivers/video/console/fbcon.c | 58
drivers/video/console/fbcon.h | 47
- include/linux/bootsplash.h | 76 +
+ include/linux/bootsplash.h | 86 +
include/linux/console_struct.h | 3
include/linux/fb.h | 4
- 17 files changed, 4236 insertions(+)
+ 17 files changed, 4351 insertions(+)
create mode 100644 drivers/video/bootsplash/Kconfig
create mode 100644 drivers/video/bootsplash/Makefile
create mode 100644 drivers/video/bootsplash/bootsplash.c
@@ -45,10 +48,8 @@ Signed-off-by: Egbert Eich <eich@suse.de>
create mode 100644 drivers/video/bootsplash/render.c
create mode 100644 include/linux/bootsplash.h
-Index: linux-3.0-master/drivers/tty/n_tty.c
-===================================================================
---- linux-3.0-master.orig/drivers/tty/n_tty.c
-+++ linux-3.0-master/drivers/tty/n_tty.c
+--- linux-3.1-rc6-master.orig/drivers/tty/n_tty.c
++++ linux-3.1-rc6-master/drivers/tty/n_tty.c
@@ -50,6 +50,8 @@
#include <linux/uaccess.h>
#include <linux/module.h>
@@ -74,10 +75,8 @@ Index: linux-3.0-master/drivers/tty/n_tty.c
if (test_bit(TTY_OTHER_CLOSED, &tty->flags)) {
retval = -EIO;
break;
-Index: linux-3.0-master/drivers/tty/vt/keyboard.c
-===================================================================
---- linux-3.0-master.orig/drivers/tty/vt/keyboard.c
-+++ linux-3.0-master/drivers/tty/vt/keyboard.c
+--- linux-3.1-rc6-master.orig/drivers/tty/vt/keyboard.c
++++ linux-3.1-rc6-master/drivers/tty/vt/keyboard.c
@@ -43,6 +43,8 @@
#include <linux/notifier.h>
#include <linux/jiffies.h>
@@ -101,10 +100,8 @@ Index: linux-3.0-master/drivers/tty/vt/keyboard.c
#ifdef CONFIG_SPARC
if (keycode == KEY_A && sparc_l1_a_state) {
sparc_l1_a_state = false;
-Index: linux-3.0-master/drivers/tty/vt/vt.c
-===================================================================
---- linux-3.0-master.orig/drivers/tty/vt/vt.c
-+++ linux-3.0-master/drivers/tty/vt/vt.c
+--- linux-3.1-rc6-master.orig/drivers/tty/vt/vt.c
++++ linux-3.1-rc6-master/drivers/tty/vt/vt.c
@@ -4204,6 +4204,35 @@ void vcs_scr_updated(struct vc_data *vc)
notify_update(vc);
}
@@ -141,10 +138,8 @@ Index: linux-3.0-master/drivers/tty/vt/vt.c
/*
* Visible symbols for modules
*/
-Index: linux-3.0-master/drivers/video/Kconfig
-===================================================================
---- linux-3.0-master.orig/drivers/video/Kconfig
-+++ linux-3.0-master/drivers/video/Kconfig
+--- linux-3.1-rc6-master.orig/drivers/video/Kconfig
++++ linux-3.1-rc6-master/drivers/video/Kconfig
@@ -2397,4 +2397,8 @@ if FB || SGI_NEWPORT_CONSOLE
source "drivers/video/logo/Kconfig"
endif
@@ -154,10 +149,8 @@ Index: linux-3.0-master/drivers/video/Kconfig
+endif
+
endmenu
-Index: linux-3.0-master/drivers/video/Makefile
-===================================================================
---- linux-3.0-master.orig/drivers/video/Makefile
-+++ linux-3.0-master/drivers/video/Makefile
+--- linux-3.1-rc6-master.orig/drivers/video/Makefile
++++ linux-3.1-rc6-master/drivers/video/Makefile
@@ -14,6 +14,7 @@ fb-objs := $(f
obj-$(CONFIG_VT) += console/
obj-$(CONFIG_LOGO) += logo/
@@ -166,10 +159,8 @@ Index: linux-3.0-master/drivers/video/Makefile
obj-$(CONFIG_FB_CFB_FILLRECT) += cfbfillrect.o
obj-$(CONFIG_FB_CFB_COPYAREA) += cfbcopyarea.o
-Index: linux-3.0-master/drivers/video/bootsplash/Kconfig
-===================================================================
--- /dev/null
-+++ linux-3.0-master/drivers/video/bootsplash/Kconfig
++++ linux-3.1-rc6-master/drivers/video/bootsplash/Kconfig
@@ -0,0 +1,17 @@
+#
+# Bootsplash configuration
@@ -188,21 +179,17 @@ Index: linux-3.0-master/drivers/video/bootsplash/Kconfig
+ If you are unsure, say N
+endmenu
+
-Index: linux-3.0-master/drivers/video/bootsplash/Makefile
-===================================================================
--- /dev/null
-+++ linux-3.0-master/drivers/video/bootsplash/Makefile
++++ linux-3.1-rc6-master/drivers/video/bootsplash/Makefile
@@ -0,0 +1,5 @@
+# Makefile for the Linux bootsplash
+
+obj-$(CONFIG_BOOTSPLASH) += bootsplash.o
+obj-$(CONFIG_BOOTSPLASH) += decode-jpg.o
+obj-$(CONFIG_BOOTSPLASH) += render.o
-Index: linux-3.0-master/drivers/video/bootsplash/bootsplash.c
-===================================================================
--- /dev/null
-+++ linux-3.0-master/drivers/video/bootsplash/bootsplash.c
-@@ -0,0 +1,2486 @@
++++ linux-3.1-rc6-master/drivers/video/bootsplash/bootsplash.c
+@@ -0,0 +1,2473 @@
+/*
+ * linux/drivers/video/bootsplash/bootsplash.c -
+ * splash screen handling functions.
@@ -936,7 +923,7 @@ Index: linux-3.0-master/drivers/video/bootsplash/bootsplash.c
+ }
+}
+
-+static int get_raw_v2(struct vc_data *vc,
++static int update_boxes(struct vc_data *vc,
+ const int *offsets,
+ unsigned char *ndata, int len, unsigned char * end,
+ int *update)
@@ -1007,19 +994,6 @@ Index: linux-3.0-master/drivers/video/bootsplash/bootsplash.c
+ }
+ if (update)
+ *update = up;
-+
-+ if (sd->pic->ref_cnt > 1) {
-+ struct splash_pic_data *pic;
-+ pic = kzalloc(sizeof
-+ (struct splash_pic_data),
-+ GFP_KERNEL);
-+ if (!pic)
-+ return -1;
-+ sd->pic = pic;
-+ }
-+ sd->pic->ref_cnt = 1;
-+ sd->pic->splash_pic = NULL;
-+ sd->pic->splash_pic_size = 0;
+ }
+ return 0;
+}
@@ -1095,7 +1069,7 @@ Index: linux-3.0-master/drivers/video/bootsplash/bootsplash.c
+ * since we can have multiple splash_data records
+ */
+ if (splash_size == (int)0xffffffff && version > 1) {
-+ if (get_raw_v2(vc, offsets, ndata, len, end, update) < 0)
++ if (update_boxes(vc, offsets, ndata, len, end, update) < 0)
+ return -1;
+
+ return unit;
@@ -2689,10 +2663,8 @@ Index: linux-3.0-master/drivers/video/bootsplash/bootsplash.c
+ }
+ return 0;
+}
-Index: linux-3.0-master/drivers/video/bootsplash/decode-jpg.c
-===================================================================
--- /dev/null
-+++ linux-3.0-master/drivers/video/bootsplash/decode-jpg.c
++++ linux-3.1-rc6-master/drivers/video/bootsplash/decode-jpg.c
@@ -0,0 +1,1045 @@
+/*
+ * linux/drivers/video/bootsplash/decode-jpg.c - a tiny jpeg decoder.
@@ -3739,10 +3711,8 @@ Index: linux-3.0-master/drivers/video/bootsplash/decode-jpg.c
+ outy += 64 * 2 - 16 * 4;
+ }
+}
-Index: linux-3.0-master/drivers/video/bootsplash/decode-jpg.h
-===================================================================
--- /dev/null
-+++ linux-3.0-master/drivers/video/bootsplash/decode-jpg.h
++++ linux-3.1-rc6-master/drivers/video/bootsplash/decode-jpg.h
@@ -0,0 +1,37 @@
+/*
+ * linux/drivers/video/bootsplash/decode-jpg.h - a tiny jpeg decoder.
@@ -3775,16 +3745,14 @@ Index: linux-3.0-master/drivers/video/bootsplash/decode-jpg.h
+ int dquant[3][64];
+};
+
-+extern int jpeg_decode(unsigned char *buf, unsigned char *pic,
++extern int jpeg_decode(unsigned char *buf, unsigned char *pic,
+ int width, int height, enum splash_color_format cf,
+ struct jpeg_decdata *);
+extern void jpeg_get_size(unsigned char *, int *, int *);
+
+#endif
-Index: linux-3.0-master/drivers/video/bootsplash/render.c
-===================================================================
--- /dev/null
-+++ linux-3.0-master/drivers/video/bootsplash/render.c
++++ linux-3.1-rc6-master/drivers/video/bootsplash/render.c
@@ -0,0 +1,491 @@
+/*
+ * linux/drivers/video/bootsplash/render.c - splash screen render functions.
@@ -4277,10 +4245,8 @@ Index: linux-3.0-master/drivers/video/bootsplash/render.c
+ /* update_screen(vc->vc_num); */
+ }
+}
-Index: linux-3.0-master/drivers/video/console/bitblit.c
-===================================================================
---- linux-3.0-master.orig/drivers/video/console/bitblit.c
-+++ linux-3.0-master/drivers/video/console/bitblit.c
+--- linux-3.1-rc6-master.orig/drivers/video/console/bitblit.c
++++ linux-3.1-rc6-master/drivers/video/console/bitblit.c
@@ -19,6 +19,9 @@
#include <asm/types.h>
#include "fbcon.h"
@@ -4354,10 +4320,8 @@ Index: linux-3.0-master/drivers/video/console/bitblit.c
if (info->fbops->fb_cursor)
err = info->fbops->fb_cursor(info, &cursor);
-Index: linux-3.0-master/drivers/video/console/fbcon.c
-===================================================================
---- linux-3.0-master.orig/drivers/video/console/fbcon.c
-+++ linux-3.0-master/drivers/video/console/fbcon.c
+--- linux-3.1-rc6-master.orig/drivers/video/console/fbcon.c
++++ linux-3.1-rc6-master/drivers/video/console/fbcon.c
@@ -80,6 +80,7 @@
#include <asm/system.h>
@@ -4487,10 +4451,8 @@ Index: linux-3.0-master/drivers/video/console/fbcon.c
cols /= w;
rows /= h;
vc_resize(vc, cols, rows);
-Index: linux-3.0-master/drivers/video/console/fbcon.h
-===================================================================
---- linux-3.0-master.orig/drivers/video/console/fbcon.h
-+++ linux-3.0-master/drivers/video/console/fbcon.h
+--- linux-3.1-rc6-master.orig/drivers/video/console/fbcon.h
++++ linux-3.1-rc6-master/drivers/video/console/fbcon.h
@@ -25,6 +25,53 @@
* low-level frame buffer device
*/
@@ -4545,10 +4507,8 @@ Index: linux-3.0-master/drivers/video/console/fbcon.h
struct display {
/* Filled in by the low-level console driver */
const u_char *fontdata;
-Index: linux-3.0-master/include/linux/bootsplash.h
-===================================================================
--- /dev/null
-+++ linux-3.0-master/include/linux/bootsplash.h
++++ linux-3.1-rc6-master/include/linux/bootsplash.h
@@ -0,0 +1,86 @@
+/*
+ * linux/drivers/video/bootsplash/bootsplash.h - splash screen definition.
@@ -4636,10 +4596,8 @@ Index: linux-3.0-master/include/linux/bootsplash.h
+# endif
+
+#endif
-Index: linux-3.0-master/include/linux/console_struct.h
-===================================================================
---- linux-3.0-master.orig/include/linux/console_struct.h
-+++ linux-3.0-master/include/linux/console_struct.h
+--- linux-3.1-rc6-master.orig/include/linux/console_struct.h
++++ linux-3.1-rc6-master/include/linux/console_struct.h
@@ -107,6 +107,9 @@ struct vc_data {
unsigned long vc_uni_pagedir;
unsigned long *vc_uni_pagedir_loc; /* [!] Location of uni_pagedir variable for this console */
@@ -4650,10 +4608,8 @@ Index: linux-3.0-master/include/linux/console_struct.h
/* additional information is in vt_kern.h */
};
-Index: linux-3.0-master/include/linux/fb.h
-===================================================================
---- linux-3.0-master.orig/include/linux/fb.h
-+++ linux-3.0-master/include/linux/fb.h
+--- linux-3.1-rc6-master.orig/include/linux/fb.h
++++ linux-3.1-rc6-master/include/linux/fb.h
@@ -878,6 +878,10 @@ struct fb_info {
void *fbcon_par; /* fbcon use-only private area */
/* From here on everything is device dependent */