On 8/22/25 05:06, David Hildenbrand wrote: > It's no longer required to use nth_page() when iterating pages within a > single SG entry, so let's drop the nth_page() usage. > > Cc: Damien Le Moal <dlem...@kernel.org> > Cc: Niklas Cassel <cas...@kernel.org> > Signed-off-by: David Hildenbrand <da...@redhat.com> > --- > drivers/ata/libata-sff.c | 6 +++--- > 1 file changed, 3 insertions(+), 3 deletions(-) > > diff --git a/drivers/ata/libata-sff.c b/drivers/ata/libata-sff.c > index 7fc407255eb46..9f5d0f9f6d686 100644 > --- a/drivers/ata/libata-sff.c > +++ b/drivers/ata/libata-sff.c > @@ -614,7 +614,7 @@ static void ata_pio_sector(struct ata_queued_cmd *qc) > offset = qc->cursg->offset + qc->cursg_ofs; > > /* get the current page and offset */ > - page = nth_page(page, (offset >> PAGE_SHIFT)); > + page += offset / PAGE_SHIFT;
Shouldn't this be "offset >> PAGE_SHIFT" ? > offset %= PAGE_SIZE; > > /* don't overrun current sg */ > @@ -631,7 +631,7 @@ static void ata_pio_sector(struct ata_queued_cmd *qc) > unsigned int split_len = PAGE_SIZE - offset; > > ata_pio_xfer(qc, page, offset, split_len); > - ata_pio_xfer(qc, nth_page(page, 1), 0, count - split_len); > + ata_pio_xfer(qc, page + 1, 0, count - split_len); > } else { > ata_pio_xfer(qc, page, offset, count); > } > @@ -751,7 +751,7 @@ static int __atapi_pio_bytes(struct ata_queued_cmd *qc, > unsigned int bytes) > offset = sg->offset + qc->cursg_ofs; > > /* get the current page and offset */ > - page = nth_page(page, (offset >> PAGE_SHIFT)); > + page += offset / PAGE_SIZE; Same here, though this seems correct too. > offset %= PAGE_SIZE; > > /* don't overrun current sg */ -- Damien Le Moal Western Digital Research