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

From: Zheyu Ma
Date: Sun Apr 10 2022 - 02:30:39 EST


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.

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