fdc and callout_*()
Matthew Dillon
dillon at apollo.backplane.com
Tue Oct 12 11:24:38 PDT 2004
:doing a fdformat, with ACPI off to even get fdc0 to work, I get:
:
:callout_reset(0xc14f0054) from 0xc02ecdea: callout was not initialized
:callout_reset(c03111c0,c14f0054,c02ecdea,c14f0054) at callout_reset+0x2d
:callout_reset(c14f0054,c,c02ec3ec,c14effb8,c14effb8) at callout_reset+0x2d
:fdstate(c14effb8) at fdstate+0x886
:fdc_intr(c14effb8,68c440,0,18,cf45fd84) at fdc_intr+0xe
:intr_mux(c03c9178) at intr_mux+0x21
:ithread_handler(6,0,0,0,0) at ithread_handler+0x7a
:lwkt_exit() at lwkt_exit
:
:--
:Jeroen Ruigrok van der Werven <asmodai(at)wxs.nl> / asmodai / kita no mono
:Free Tibet! http://www.savetibet.org/ | http://ashemedai.deviantart.com/
Try this patch, tell me if it works.
-Matt
Matthew Dillon
<dillon at xxxxxxxxxxxxx>
Index: fd.c
===================================================================
RCS file: /cvs/src/sys/dev/disk/fd/fd.c,v
retrieving revision 1.19
diff -u -r1.19 fd.c
--- fd.c 19 Sep 2004 00:36:37 -0000 1.19
+++ fd.c 12 Oct 2004 18:22:29 -0000
@@ -543,6 +543,7 @@
ispcmcia = (fdc->flags & FDC_ISPCMCIA) != 0;
fdc->rid_ioport = fdc->rid_irq = fdc->rid_drq = 0;
fdc->res_ioport = fdc->res_irq = fdc->res_drq = 0;
+ callout_init(&fdc->pseudointr_ch);
/*
* On standard ISA, we don't just use an 8 port range
@@ -642,6 +643,7 @@
{
device_t dev;
+ callout_stop(&fdc->pseudointr_ch);
dev = fdc->fdc_dev;
if (fdc->res_irq != 0) {
bus_deactivate_resource(dev, SYS_RES_IRQ, fdc->rid_irq,
More information about the Bugs
mailing list