aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/video/console/vgacon.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/video/console/vgacon.c')
-rw-r--r--drivers/video/console/vgacon.c16
1 files changed, 12 insertions, 4 deletions
diff --git a/drivers/video/console/vgacon.c b/drivers/video/console/vgacon.c
index 5855d17d19ac..0dd6d9625bb5 100644
--- a/drivers/video/console/vgacon.c
+++ b/drivers/video/console/vgacon.c
@@ -1124,11 +1124,15 @@ static int vgacon_do_font_op(struct vgastate *state,char *arg,int set,int ch512)
1124 1124
1125 if (arg) { 1125 if (arg) {
1126 if (set) 1126 if (set)
1127 for (i = 0; i < cmapsz; i++) 1127 for (i = 0; i < cmapsz; i++) {
1128 vga_writeb(arg[i], charmap + i); 1128 vga_writeb(arg[i], charmap + i);
1129 cond_resched();
1130 }
1129 else 1131 else
1130 for (i = 0; i < cmapsz; i++) 1132 for (i = 0; i < cmapsz; i++) {
1131 arg[i] = vga_readb(charmap + i); 1133 arg[i] = vga_readb(charmap + i);
1134 cond_resched();
1135 }
1132 1136
1133 /* 1137 /*
1134 * In 512-character mode, the character map is not contiguous if 1138 * In 512-character mode, the character map is not contiguous if
@@ -1139,11 +1143,15 @@ static int vgacon_do_font_op(struct vgastate *state,char *arg,int set,int ch512)
1139 charmap += 2 * cmapsz; 1143 charmap += 2 * cmapsz;
1140 arg += cmapsz; 1144 arg += cmapsz;
1141 if (set) 1145 if (set)
1142 for (i = 0; i < cmapsz; i++) 1146 for (i = 0; i < cmapsz; i++) {
1143 vga_writeb(arg[i], charmap + i); 1147 vga_writeb(arg[i], charmap + i);
1148 cond_resched();
1149 }
1144 else 1150 else
1145 for (i = 0; i < cmapsz; i++) 1151 for (i = 0; i < cmapsz; i++) {
1146 arg[i] = vga_readb(charmap + i); 1152 arg[i] = vga_readb(charmap + i);
1153 cond_resched();
1154 }
1147 } 1155 }
1148 } 1156 }
1149 1157