Re: [BUG] ata: pata_marvell: Warning when probing the module

From: Damien Le Moal
Date: Sun Apr 10 2022 - 19:53:51 EST


On 4/10/22 15:30, Zheyu Ma wrote:
> Hello,
>
> I found a bug in the pata_marvell module.
> When probing the driver, it seems to trigger the error path and
> executes the function marvell_cable_detect(), but the
> 'ap->ioaddr.bmdma_addr' is not initialized, which causes a warning.

I do not have this hardware so I cannot debug this. Please debug it and
send a patch. bmdma_addr is normally set in ata_pci_bmdma_init(), but some
drivers set it manually in their probe functions. No idea about the
marvell driver, I have not checked it.

>
> The following log can reveal it:
>
> [ 3.453943] Bad IO access at port 0x1 (return inb(port))
> [ 3.454430] WARNING: CPU: 7 PID: 291 at lib/iomap.c:44 ioread8+0x4a/0x60
> [ 3.457962] RIP: 0010:ioread8+0x4a/0x60
> [ 3.466362] Call Trace:
> [ 3.466572] <TASK>
> [ 3.466756] marvell_cable_detect+0xad/0xf0 [pata_marvell]
> [ 3.467699] ata_eh_recover+0x3520/0x6cc0
> [ 3.473262] ata_do_eh+0x49/0x3c0
> [ 3.473906] ata_scsi_port_error_handler+0xd96/0x1d00
> [ 3.474355] ata_scsi_error+0x243/0x290
> [ 3.475428] scsi_error_handler+0x2ff/0xea0
> [ 3.477244] kthread+0x262/0x2e0


--
Damien Le Moal
Western Digital Research