Re: [PATCH 1/4] pata_parport: fix pata_parport_devchk

From: Ondrej Zary
Date: Tue Oct 03 2023 - 13:07:54 EST


On Monday 02 October 2023 20:43:09 Sergey Shtylyov wrote:
> Hello!
>
> On 9/30/23 10:15 PM, Ondrej Zary wrote:
>
> > There's a 'x' missing in 0x55 in pata_parport_devchk(), causing the
> > detection to always fail. Fix it.
> >
> > Signed-off-by: Ondrej Zary <linux@xxxxxxx>
>
> I think we need a Fixes: tag here...
>
> > ---
> > drivers/ata/pata_parport/pata_parport.c | 2 +-
> > 1 file changed, 1 insertion(+), 1 deletion(-)
> >
> > diff --git a/drivers/ata/pata_parport/pata_parport.c b/drivers/ata/pata_parport/pata_parport.c
> > index 1af64d435d3c..258d189f42e5 100644
> > --- a/drivers/ata/pata_parport/pata_parport.c
> > +++ b/drivers/ata/pata_parport/pata_parport.c
> > @@ -64,7 +64,7 @@ static bool pata_parport_devchk(struct ata_port *ap, unsigned int device)
> > pi->proto->write_regr(pi, 0, ATA_REG_NSECT, 0xaa);
> > pi->proto->write_regr(pi, 0, ATA_REG_LBAL, 0x55);
> >
> > - pi->proto->write_regr(pi, 0, ATA_REG_NSECT, 055);
> > + pi->proto->write_regr(pi, 0, ATA_REG_NSECT, 0x55);
>
> Oh, Gawd! How did this ever work?! :-/
> This bug seems to predate the Big PARIDE move...

This code was not present in PARIDE - it's my bug.
The function is a clone of ata_devchk() without direct port access.
It's called only from softreset so nobody notices the breakage until something goes wrong. The CD-865 drive needs a reset to start working.

--
Ondrej Zary