diff options
| -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 | ||
