Skip to contentSkip to conversation

fbcon: Check console-fb mapping in fbcon_get_requirement

PATCH In review Antonino A. Daplas 1 participant 1 message May 5, 2007

Subsystems (2)
lore
Share & tools
lore
#0 lore raw

PATCH 2/20 fbcon: Check console-fb mapping in fbcon_get_requirement

- Check the console-to-fb mapping in fbcon_get_requirement(), otherwise the value returned may not be valid for the driver.

- Minor cleanup

---

 drivers/video/console/fbcon.c |   17 ++++++++---------
 1 files changed, 8 insertions(+), 9 deletions(-)
drivers/video/console/fbcon.c +8 -9
index 34899bd..73813c6 100644
@@ -3048,14 +3048,14 @@ static void fbcon_get_requirement(struct
 {
 	struct vc_data *vc;
 	struct display *p;
-	int charcnt;
 
 	if (caps->flags) {
-		int i;
+		int i, charcnt;
 
 		for (i = first_fb_vc; i <= last_fb_vc; i++) {
 			vc = vc_cons[i].d;
-			if (vc && vc->vc_mode == KD_TEXT) {
+			if (vc && vc->vc_mode == KD_TEXT &&
+			    info->node == con2fb_map[i]) {
 				p = &fb_display[i];
 				caps->x |= 1 << (vc->vc_font.width - 1);
 				caps->y |= 1 << (vc->vc_font.height - 1);
@@ -3068,14 +3068,13 @@ static void fbcon_get_requirement(struct
 	} else {
 		vc = vc_cons[fg_console].d;
 
-		if (vc && vc->vc_mode == KD_TEXT) {
+		if (vc && vc->vc_mode == KD_TEXT &&
+		    info->node == con2fb_map[fg_console]) {
 			p = &fb_display[fg_console];
-			caps->x |= 1 << (vc->vc_font.width - 1);
-			caps->y |= 1 << (vc->vc_font.height - 1);
-			charcnt = (p->userfont) ?
+			caps->x = 1 << (vc->vc_font.width - 1);
+			caps->y = 1 << (vc->vc_font.height - 1);
+			caps->len = (p->userfont) ?
 				FNTCHARCNT(p->fontdata) : 256;
-			if (caps->len < charcnt)
-				caps->len = charcnt;
 		}
 	}
 }

-------------------------------------------------------------------------
This SF.net email is sponsored by DB2 Express
Download DB2 Express C - the FREE version of DB2 express and take control of your XML. No limits. Just data. Click to get it now.
http://sourceforge.net/powerbar/db2/