Loading drivers/scsi/libata-core.c +26 −14 Original line number Diff line number Diff line Loading @@ -2748,7 +2748,6 @@ static void ata_pio_sector(struct ata_queued_cmd *qc) struct page *page; unsigned int offset; unsigned char *buf; unsigned long flags; if (qc->cursect == (qc->nsect - 1)) ap->hsm_task_state = HSM_ST_LAST; Loading @@ -2762,6 +2761,9 @@ static void ata_pio_sector(struct ata_queued_cmd *qc) DPRINTK("data %s\n", qc->tf.flags & ATA_TFLAG_WRITE ? "write" : "read"); if (PageHighMem(page)) { unsigned long flags; local_irq_save(flags); buf = kmap_atomic(page, KM_IRQ0); Loading @@ -2770,6 +2772,10 @@ static void ata_pio_sector(struct ata_queued_cmd *qc) kunmap_atomic(buf, KM_IRQ0); local_irq_restore(flags); } else { buf = page_address(page); ata_data_xfer(ap, buf + offset, ATA_SECT_SIZE, do_write); } qc->cursect++; qc->cursg_ofs++; Loading Loading @@ -2908,7 +2914,6 @@ static void __atapi_pio_bytes(struct ata_queued_cmd *qc, unsigned int bytes) struct page *page; unsigned char *buf; unsigned int offset, count; unsigned long flags; if (qc->curbytes + bytes >= qc->nbytes) ap->hsm_task_state = HSM_ST_LAST; Loading Loading @@ -2954,6 +2959,9 @@ static void __atapi_pio_bytes(struct ata_queued_cmd *qc, unsigned int bytes) DPRINTK("data %s\n", qc->tf.flags & ATA_TFLAG_WRITE ? "write" : "read"); if (PageHighMem(page)) { unsigned long flags; local_irq_save(flags); buf = kmap_atomic(page, KM_IRQ0); Loading @@ -2962,6 +2970,10 @@ static void __atapi_pio_bytes(struct ata_queued_cmd *qc, unsigned int bytes) kunmap_atomic(buf, KM_IRQ0); local_irq_restore(flags); } else { buf = page_address(page); ata_data_xfer(ap, buf + offset, count, do_write); } bytes -= count; qc->curbytes += count; Loading Loading
drivers/scsi/libata-core.c +26 −14 Original line number Diff line number Diff line Loading @@ -2748,7 +2748,6 @@ static void ata_pio_sector(struct ata_queued_cmd *qc) struct page *page; unsigned int offset; unsigned char *buf; unsigned long flags; if (qc->cursect == (qc->nsect - 1)) ap->hsm_task_state = HSM_ST_LAST; Loading @@ -2762,6 +2761,9 @@ static void ata_pio_sector(struct ata_queued_cmd *qc) DPRINTK("data %s\n", qc->tf.flags & ATA_TFLAG_WRITE ? "write" : "read"); if (PageHighMem(page)) { unsigned long flags; local_irq_save(flags); buf = kmap_atomic(page, KM_IRQ0); Loading @@ -2770,6 +2772,10 @@ static void ata_pio_sector(struct ata_queued_cmd *qc) kunmap_atomic(buf, KM_IRQ0); local_irq_restore(flags); } else { buf = page_address(page); ata_data_xfer(ap, buf + offset, ATA_SECT_SIZE, do_write); } qc->cursect++; qc->cursg_ofs++; Loading Loading @@ -2908,7 +2914,6 @@ static void __atapi_pio_bytes(struct ata_queued_cmd *qc, unsigned int bytes) struct page *page; unsigned char *buf; unsigned int offset, count; unsigned long flags; if (qc->curbytes + bytes >= qc->nbytes) ap->hsm_task_state = HSM_ST_LAST; Loading Loading @@ -2954,6 +2959,9 @@ static void __atapi_pio_bytes(struct ata_queued_cmd *qc, unsigned int bytes) DPRINTK("data %s\n", qc->tf.flags & ATA_TFLAG_WRITE ? "write" : "read"); if (PageHighMem(page)) { unsigned long flags; local_irq_save(flags); buf = kmap_atomic(page, KM_IRQ0); Loading @@ -2962,6 +2970,10 @@ static void __atapi_pio_bytes(struct ata_queued_cmd *qc, unsigned int bytes) kunmap_atomic(buf, KM_IRQ0); local_irq_restore(flags); } else { buf = page_address(page); ata_data_xfer(ap, buf + offset, count, do_write); } bytes -= count; qc->curbytes += count; Loading