diff options
| -rw-r--r-- | arch/i386/Kconfig | 5 | ||||
| -rw-r--r-- | drivers/input/keyboard/Kconfig | 4 | ||||
| -rw-r--r-- | drivers/input/mouse/Kconfig | 2 | ||||
| -rw-r--r-- | drivers/scsi/ide-scsi.c | 44 | ||||
| -rw-r--r-- | fs/fs-writeback.c | 2 |
5 files changed, 36 insertions, 21 deletions
diff --git a/arch/i386/Kconfig b/arch/i386/Kconfig index 5383e5e2d9b7..bac0da731ee3 100644 --- a/arch/i386/Kconfig +++ b/arch/i386/Kconfig | |||
| @@ -1042,8 +1042,3 @@ config X86_TRAMPOLINE | |||
| 1042 | bool | 1042 | bool |
| 1043 | depends on X86_SMP || (X86_VOYAGER && SMP) | 1043 | depends on X86_SMP || (X86_VOYAGER && SMP) |
| 1044 | default y | 1044 | default y |
| 1045 | |||
| 1046 | config PC | ||
| 1047 | bool | ||
| 1048 | depends on X86 && !EMBEDDED | ||
| 1049 | default y | ||
diff --git a/drivers/input/keyboard/Kconfig b/drivers/input/keyboard/Kconfig index 571a68691a4a..4a917748fd9f 100644 --- a/drivers/input/keyboard/Kconfig +++ b/drivers/input/keyboard/Kconfig | |||
| @@ -13,11 +13,11 @@ menuconfig INPUT_KEYBOARD | |||
| 13 | if INPUT_KEYBOARD | 13 | if INPUT_KEYBOARD |
| 14 | 14 | ||
| 15 | config KEYBOARD_ATKBD | 15 | config KEYBOARD_ATKBD |
| 16 | tristate "AT keyboard" if !PC | 16 | tristate "AT keyboard" if !X86_PC |
| 17 | default y | 17 | default y |
| 18 | select SERIO | 18 | select SERIO |
| 19 | select SERIO_LIBPS2 | 19 | select SERIO_LIBPS2 |
| 20 | select SERIO_I8042 if PC | 20 | select SERIO_I8042 if X86_PC |
| 21 | select SERIO_GSCPS2 if GSC | 21 | select SERIO_GSCPS2 if GSC |
| 22 | help | 22 | help |
| 23 | Say Y here if you want to use a standard AT or PS/2 keyboard. Usually | 23 | Say Y here if you want to use a standard AT or PS/2 keyboard. Usually |
diff --git a/drivers/input/mouse/Kconfig b/drivers/input/mouse/Kconfig index 537154dd7a87..574b18a523af 100644 --- a/drivers/input/mouse/Kconfig +++ b/drivers/input/mouse/Kconfig | |||
| @@ -17,7 +17,7 @@ config MOUSE_PS2 | |||
| 17 | default y | 17 | default y |
| 18 | select SERIO | 18 | select SERIO |
| 19 | select SERIO_LIBPS2 | 19 | select SERIO_LIBPS2 |
| 20 | select SERIO_I8042 if PC | 20 | select SERIO_I8042 if X86_PC |
| 21 | select SERIO_GSCPS2 if GSC | 21 | select SERIO_GSCPS2 if GSC |
| 22 | ---help--- | 22 | ---help--- |
| 23 | Say Y here if you have a PS/2 mouse connected to your system. This | 23 | Say Y here if you have a PS/2 mouse connected to your system. This |
diff --git a/drivers/scsi/ide-scsi.c b/drivers/scsi/ide-scsi.c index 00d6a6657ebc..a440ea38efaa 100644 --- a/drivers/scsi/ide-scsi.c +++ b/drivers/scsi/ide-scsi.c | |||
| @@ -180,12 +180,22 @@ static void idescsi_input_buffers (ide_drive_t *drive, idescsi_pc_t *pc, unsigne | |||
| 180 | return; | 180 | return; |
| 181 | } | 181 | } |
| 182 | count = min(pc->sg->length - pc->b_count, bcount); | 182 | count = min(pc->sg->length - pc->b_count, bcount); |
| 183 | buf = kmap_atomic(pc->sg->page, KM_IRQ0); | 183 | if (PageHighMem(pc->sg->page)) { |
| 184 | drive->hwif->atapi_input_bytes(drive, | 184 | unsigned long flags; |
| 185 | buf + pc->b_count + pc->sg->offset, count); | 185 | |
| 186 | kunmap_atomic(buf, KM_IRQ0); | 186 | local_irq_save(flags); |
| 187 | bcount -= count; | 187 | buf = kmap_atomic(pc->sg->page, KM_IRQ0) + |
| 188 | pc->b_count += count; | 188 | pc->sg->offset; |
| 189 | drive->hwif->atapi_input_bytes(drive, | ||
| 190 | buf + pc->b_count, count); | ||
| 191 | kunmap_atomic(buf - pc->sg->offset, KM_IRQ0); | ||
| 192 | local_irq_restore(flags); | ||
| 193 | } else { | ||
| 194 | buf = page_address(pc->sg->page) + pc->sg->offset; | ||
| 195 | drive->hwif->atapi_input_bytes(drive, | ||
| 196 | buf + pc->b_count, count); | ||
| 197 | } | ||
| 198 | bcount -= count; pc->b_count += count; | ||
| 189 | if (pc->b_count == pc->sg->length) { | 199 | if (pc->b_count == pc->sg->length) { |
| 190 | pc->sg++; | 200 | pc->sg++; |
| 191 | pc->b_count = 0; | 201 | pc->b_count = 0; |
| @@ -205,12 +215,22 @@ static void idescsi_output_buffers (ide_drive_t *drive, idescsi_pc_t *pc, unsign | |||
| 205 | return; | 215 | return; |
| 206 | } | 216 | } |
| 207 | count = min(pc->sg->length - pc->b_count, bcount); | 217 | count = min(pc->sg->length - pc->b_count, bcount); |
| 208 | buf = kmap_atomic(pc->sg->page, KM_IRQ0); | 218 | if (PageHighMem(pc->sg->page)) { |
| 209 | drive->hwif->atapi_output_bytes(drive, | 219 | unsigned long flags; |
| 210 | buf + pc->b_count + pc->sg->offset, count); | 220 | |
| 211 | kunmap_atomic(buf, KM_IRQ0); | 221 | local_irq_save(flags); |
| 212 | bcount -= count; | 222 | buf = kmap_atomic(pc->sg->page, KM_IRQ0) + |
| 213 | pc->b_count += count; | 223 | pc->sg->offset; |
| 224 | drive->hwif->atapi_output_bytes(drive, | ||
| 225 | buf + pc->b_count, count); | ||
| 226 | kunmap_atomic(buf - pc->sg->offset, KM_IRQ0); | ||
| 227 | local_irq_restore(flags); | ||
| 228 | } else { | ||
| 229 | buf = page_address(pc->sg->page) + pc->sg->offset; | ||
| 230 | drive->hwif->atapi_output_bytes(drive, | ||
| 231 | buf + pc->b_count, count); | ||
| 232 | } | ||
| 233 | bcount -= count; pc->b_count += count; | ||
| 214 | if (pc->b_count == pc->sg->length) { | 234 | if (pc->b_count == pc->sg->length) { |
| 215 | pc->sg++; | 235 | pc->sg++; |
| 216 | pc->b_count = 0; | 236 | pc->b_count = 0; |
diff --git a/fs/fs-writeback.c b/fs/fs-writeback.c index ffab4783ac64..c27f8d4098be 100644 --- a/fs/fs-writeback.c +++ b/fs/fs-writeback.c | |||
| @@ -247,7 +247,7 @@ __writeback_single_inode(struct inode *inode, struct writeback_control *wbc) | |||
| 247 | wait_queue_head_t *wqh; | 247 | wait_queue_head_t *wqh; |
| 248 | 248 | ||
| 249 | if (!atomic_read(&inode->i_count)) | 249 | if (!atomic_read(&inode->i_count)) |
| 250 | WARN_ON(!(inode->i_state & I_WILL_FREE)); | 250 | WARN_ON(!(inode->i_state & (I_WILL_FREE|I_FREEING))); |
| 251 | else | 251 | else |
| 252 | WARN_ON(inode->i_state & I_WILL_FREE); | 252 | WARN_ON(inode->i_state & I_WILL_FREE); |
| 253 | 253 | ||
