lkml.org 
[lkml]   [2022]   [Apr]   [19]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
From
Date
SubjectRe: [BUG] ata: pata_marvell: Warning when probing the module
On Wed, Apr 13, 2022 at 11:42 AM Damien Le Moal
<damien.lemoal@opensource.wdc.com> wrote:
>
> On 4/12/22 15:34, Zheyu Ma wrote:
> > On Mon, Apr 11, 2022 at 7:53 AM Damien Le Moal
> > <damien.lemoal@opensource.wdc.com> wrote:
> >>
> >> 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.
> >
> > To be honest I don't have a good solution to this problem, because
> > other drivers don't have similar behavior. The marvell driver doesn't
> > even initialize 'bmdma_addr' before calling 'cable_detect'.
>
> Then this is the bug that needs to be fixed, no ?
>
> > So a simple idea I have is to check if 'bmdma_addr' is 0 before
> > reading it and if so return the error code ATA_CBL_NONE.
>
> And if indeed, even after it is initialized it is still 0, then yes, this
> change seems sensible.

Sorry for the late reply, I found the root cause of this issue.
The marvell driver execute the ata_pci_bmdma_init() function, but the
driver just returned at the following code snippet.

if (pci_resource_start(pdev, 4) == 0) {
ata_bmdma_nodma(host, "BAR4 is zero");
return;
}

So the driver didn't initialize the 'bmdma_addr' but used it in the
cable_detect() function.
It seems that the problem is caused by the hardware, is this a bug
that we should fix?

Zheyu Ma


Zheyu Ma

\
 
 \ /
  Last update: 2022-04-20 04:22    [W:0.094 / U:1.460 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site