[Linux-parport] [PATCH 1/4] pata_parport: fix pata_parport_devchk

Ondrej Zary linux at zary.sk
Tue Oct 3 10:07:45 PDT 2023


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 at zary.sk>
> 
>    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



More information about the Linux-parport mailing list