diff options
Diffstat (limited to 'drivers/video/console/vgacon.c')
-rw-r--r-- | drivers/video/console/vgacon.c | 16 |
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 | ||