Re: PATCH, IDE corruption, 2.4.18

Mike Fedyk
2002-05-05T07:37:00Z

On Sun, May 05, 2002 at 02:54:17AM +0100, Neil Conway wrote:
> Hi...
>
> --- Mike Fedyk <mfedyk@matchmail.com> wrote: > On Sat, May 04, 2002 at
> 01:15:20PM +0100, Neil Conway wrote:
> > > - byte stat;
> > > + byte stat,unit;
> >
> > [snip]
> >
> > > #if defined(CONFIG_BLK_DEV_IDEDMA) && !defined(CONFIG_DMA_NONPCI)
> > > - byte unit = (drive->select.b.unit & 0x01);
> > > + unit = (drive->select.b.unit & 0x01);
> >
> > Why are you moving the init of "unit" out of that ifdef?
>
> Basically to make it compile. I'm only moving the declaration, and
> that's only because I need to abort the routine BEFORE the second line
> of the ifdef switches off DMA on that unit. I did compile a version
> with the ifdef split into two bits but I decided that was a little
> messy. (It won't compile if my check goes in before the first line of
> the ifdef as originally written as it declares a variable and C won't
> let declarations follow plain code.)
>

Right. Duh on my part, sorry.

> > Can you see if this problem is still in 2.5 also?
>
> I haven't got a 2.5.13 tree but I found 2.5.7 on a source browser
> online and verified that, back then at least, ide-features.c was still
> basically the same. Of course, the routines in between
> ide_register_subdriver and ide_config_drive_speed might have been
> different. If someone can look at the code-path between these two
> routines in 2.5.13 to see if there is any check on whether or not the
> hwgroup is busy (or simply whether or not DMA is in progress) that
> would clear it up. I'll probably download 2.5.13 sometime soon anyway.
>

Andre cleaims that the situation is worse on 2.5.13 or so. I wouldn't hurt
to test-run the code though.