Re: [PATCH v2 1/2] ata: pata_artop: read the ATP865 mode register through pci_iomap
From: Niklas Cassel
Date: Mon Nov 02 2026 - 06:01:20 EST
Hello Daniel,
On Sun, Oct 25, 2026 at 12:44:09PM +0900, Daniel Palmer wrote:
> artop_init_one() probes the 6280's "fast" bit with inb() on the raw
> start address of BAR 4. That address is a PCI I/O address, which is
> only a usable port number on platforms whose I/O port base maps PCI I/O
> space one to one. On an SH7751 LANDISK (identity io_port_base, PCI I/O
> window at 0xfe240000) the resource starts at 0x1400 and inb(0x1400)
> dereferences that address:
>
> BUG: unable to handle kernel paging request at 00001400
> PC is at artop_init_one+0x10e/0x170
>
> Map the BAR with pci_iomap() and use ioread8(), as libata-sff does for
> the BMDMA registers later on.
>
> Tested-by: Florian Fuchs <fuchsfl@xxxxxxxxx> # on PX-EH40L (LANDISK HDL-U, ATP865 1191:0009 rev 10)
> Signed-off-by: Daniel Palmer <daniel@xxxxxxxx>
Since your cover letter says that this fixes a regression,
I think we should add a Fixes-tag.
Kind regards,
Niklas