Auto-update from upstream

This commit is contained in:
Tony Luck 2005-10-31 16:03:46 -08:00
commit 067794a117
5 changed files with 36 additions and 21 deletions

View file

@ -1042,8 +1042,3 @@ config X86_TRAMPOLINE
bool bool
depends on X86_SMP || (X86_VOYAGER && SMP) depends on X86_SMP || (X86_VOYAGER && SMP)
default y default y
config PC
bool
depends on X86 && !EMBEDDED
default y

View file

@ -13,11 +13,11 @@ menuconfig INPUT_KEYBOARD
if INPUT_KEYBOARD if INPUT_KEYBOARD
config KEYBOARD_ATKBD config KEYBOARD_ATKBD
tristate "AT keyboard" if !PC tristate "AT keyboard" if !X86_PC
default y default y
select SERIO select SERIO
select SERIO_LIBPS2 select SERIO_LIBPS2
select SERIO_I8042 if PC select SERIO_I8042 if X86_PC
select SERIO_GSCPS2 if GSC select SERIO_GSCPS2 if GSC
help help
Say Y here if you want to use a standard AT or PS/2 keyboard. Usually Say Y here if you want to use a standard AT or PS/2 keyboard. Usually

View file

@ -17,7 +17,7 @@ config MOUSE_PS2
default y default y
select SERIO select SERIO
select SERIO_LIBPS2 select SERIO_LIBPS2
select SERIO_I8042 if PC select SERIO_I8042 if X86_PC
select SERIO_GSCPS2 if GSC select SERIO_GSCPS2 if GSC
---help--- ---help---
Say Y here if you have a PS/2 mouse connected to your system. This Say Y here if you have a PS/2 mouse connected to your system. This

View file

@ -180,12 +180,22 @@ static void idescsi_input_buffers (ide_drive_t *drive, idescsi_pc_t *pc, unsigne
return; return;
} }
count = min(pc->sg->length - pc->b_count, bcount); count = min(pc->sg->length - pc->b_count, bcount);
buf = kmap_atomic(pc->sg->page, KM_IRQ0); if (PageHighMem(pc->sg->page)) {
drive->hwif->atapi_input_bytes(drive, unsigned long flags;
buf + pc->b_count + pc->sg->offset, count);
kunmap_atomic(buf, KM_IRQ0); local_irq_save(flags);
bcount -= count; buf = kmap_atomic(pc->sg->page, KM_IRQ0) +
pc->b_count += count; pc->sg->offset;
drive->hwif->atapi_input_bytes(drive,
buf + pc->b_count, count);
kunmap_atomic(buf - pc->sg->offset, KM_IRQ0);
local_irq_restore(flags);
} else {
buf = page_address(pc->sg->page) + pc->sg->offset;
drive->hwif->atapi_input_bytes(drive,
buf + pc->b_count, count);
}
bcount -= count; pc->b_count += count;
if (pc->b_count == pc->sg->length) { if (pc->b_count == pc->sg->length) {
pc->sg++; pc->sg++;
pc->b_count = 0; pc->b_count = 0;
@ -205,12 +215,22 @@ static void idescsi_output_buffers (ide_drive_t *drive, idescsi_pc_t *pc, unsign
return; return;
} }
count = min(pc->sg->length - pc->b_count, bcount); count = min(pc->sg->length - pc->b_count, bcount);
buf = kmap_atomic(pc->sg->page, KM_IRQ0); if (PageHighMem(pc->sg->page)) {
drive->hwif->atapi_output_bytes(drive, unsigned long flags;
buf + pc->b_count + pc->sg->offset, count);
kunmap_atomic(buf, KM_IRQ0); local_irq_save(flags);
bcount -= count; buf = kmap_atomic(pc->sg->page, KM_IRQ0) +
pc->b_count += count; pc->sg->offset;
drive->hwif->atapi_output_bytes(drive,
buf + pc->b_count, count);
kunmap_atomic(buf - pc->sg->offset, KM_IRQ0);
local_irq_restore(flags);
} else {
buf = page_address(pc->sg->page) + pc->sg->offset;
drive->hwif->atapi_output_bytes(drive,
buf + pc->b_count, count);
}
bcount -= count; pc->b_count += count;
if (pc->b_count == pc->sg->length) { if (pc->b_count == pc->sg->length) {
pc->sg++; pc->sg++;
pc->b_count = 0; pc->b_count = 0;

View file

@ -247,7 +247,7 @@ __writeback_single_inode(struct inode *inode, struct writeback_control *wbc)
wait_queue_head_t *wqh; wait_queue_head_t *wqh;
if (!atomic_read(&inode->i_count)) if (!atomic_read(&inode->i_count))
WARN_ON(!(inode->i_state & I_WILL_FREE)); WARN_ON(!(inode->i_state & (I_WILL_FREE|I_FREEING)));
else else
WARN_ON(inode->i_state & I_WILL_FREE); WARN_ON(inode->i_state & I_WILL_FREE);