diff options
Diffstat (limited to 'drivers/ide/ide-taskfile.c')
-rw-r--r-- | drivers/ide/ide-taskfile.c | 10 |
1 files changed, 1 insertions, 9 deletions
diff --git a/drivers/ide/ide-taskfile.c b/drivers/ide/ide-taskfile.c index c034cd965831..89b29028d315 100644 --- a/drivers/ide/ide-taskfile.c +++ b/drivers/ide/ide-taskfile.c @@ -237,7 +237,6 @@ void ide_pio_bytes(ide_drive_t *drive, struct ide_cmd *cmd, while (len) { unsigned nr_bytes = min(len, cursg->length - cmd->cursg_ofs); - int page_is_high; page = sg_page(cursg); offset = cursg->offset + cmd->cursg_ofs; @@ -248,10 +247,6 @@ void ide_pio_bytes(ide_drive_t *drive, struct ide_cmd *cmd, nr_bytes = min_t(unsigned, nr_bytes, (PAGE_SIZE - offset)); - page_is_high = PageHighMem(page); - if (page_is_high) - local_irq_save(flags); - buf = kmap_atomic(page) + offset; cmd->nleft -= nr_bytes; @@ -270,9 +265,6 @@ void ide_pio_bytes(ide_drive_t *drive, struct ide_cmd *cmd, kunmap_atomic(buf); - if (page_is_high) - local_irq_restore(flags); - len -= nr_bytes; } } @@ -413,7 +405,7 @@ static ide_startstop_t pre_task_out_intr(ide_drive_t *drive, return startstop; } - if ((drive->dev_flags & IDE_DFLAG_UNMASK) == 0) + if (!force_irqthreads && (drive->dev_flags & IDE_DFLAG_UNMASK) == 0) local_irq_disable(); ide_set_handler(drive, &task_pio_intr, WAIT_WORSTCASE); |