Obvious bug. Fixes highmem oops.
{
struct ata_queued_cmd *qc;
struct scatterlist *sg;
+ struct page *page;
unsigned char *buf;
u8 status;
if (qc->cursect == (qc->nsect - 1))
ap->pio_task_state = PIO_ST_LAST;
- buf = kmap(sg[qc->cursg].page) +
+ page = sg[qc->cursg].page;
+ buf = kmap(page) +
sg[qc->cursg].offset + (qc->cursg_ofs * ATA_SECT_SIZE);
qc->cursect++;
else
insl(ap->ioaddr.data_addr, buf, ATA_SECT_DWORDS);
- kunmap(sg[qc->cursg].page);
+ kunmap(page);
}
static void ata_pio_task(void *_data)