[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