[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: mcd.c failes to compile (OpenBSD 3.5)



yes, this is wrong. the change you've made is fine. since mcd is not
enabled by default in a stock generic kernel, this went unnoticed. 

thanks for the report, this will be fixed shortly.

-p.

On Sun, May 02, 2004 at 12:03:16AM +0200, Georg Schwarz wrote:
> Hi,
> 
> I just installed OpenBSD 3.5 on an i386 system. Trying to build a custom
> kernel mcd.c fails to compile since disk_unbusy is called with only two
> instead of three parameters.
> After comparing with fd.c I made the following change:
> 
> *** mcd.c.orig  Tue Dec  9 22:09:18 2003
> --- mcd.c       Tue Dec  9 22:09:46 2003
> ***************
> *** 1273,1279 ****
>         /* Invalidate the buffer. */
>         bp->b_flags |= B_ERROR;
>         bp->b_resid = bp->b_bcount - mbx->skip;
> !       disk_unbusy(&sc->sc_dk, (bp->b_bcount - bp->b_resid));
>         biodone(bp);
>   
>         mcdstart(sc);
> --- 1273,1279 ----
>         /* Invalidate the buffer. */
>         bp->b_flags |= B_ERROR;
>         bp->b_resid = bp->b_bcount - mbx->skip;
> !       disk_unbusy(&sc->sc_dk, (bp->b_bcount -
> bp->b_resid),(bp->b_flags & B_READ));
>         biodone(bp);
>   
>         mcdstart(sc);
> 
> I hope this is OK.
> 
> At least it compiles flawlessly now, and as far as I can tell it works
> fine. The only problem (which however had already existed in versions
> prior to 3.5) is a strange "timeout" message coming up on bootup, i.e.
> when probing:
> 
> (from dmesg:)
> 
> : timeout in getresult
> mcd0 at isa0 port 0x634/4 irq 11: model FX001D
> 
> 
> 
> BTW, the disk_unbusy man page incorrectly lists disk_unbusy as
> void disk_unbusy(struct disk *)
> This might apply to similar routines as well.
> 
> 
> Georg 
> 
> -- 
> Georg Schwarz    http://home.pages.de/~schwarz/
>  geos@epost.de     +49 177 8811442

-- 
fica o drama dos que esperam na falésia
por quem deus já destinou à eternidade