Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 18 Jan 1998 12:11:03 -0700
From:      Nate Williams <nate@mt.sri.com>
To:        Ugo Paternostro <paterno@dsi.unifi.it>
Cc:        Nate Williams <nate@mt.sri.com>, freebsd-mobile@FreeBSD.ORG
Subject:   Re: Cirrus Logic PD6729
Message-ID:  <199801181911.MAA00697@mt.sri.com>
In-Reply-To: <XFMail.980118172429.paterno@dsi.unifi.it>
References:  <199801172040.NAA26567@mt.sri.com> <XFMail.980118172429.paterno@dsi.unifi.it>

next in thread | previous in thread | raw e-mail | index | archive | help
> Yes, you're right: I was missing a bit in the command mask: I did enable the IO
> but didn't enable the memory. Now I enable both 'em and, guess it, it works.
> Well, it almost works... :-(
> 
> What I mean is that the kernel boots fine from a cold boot, but if I reboot
> with "shutdown -r now" it panics just after printing "Intel Pentium F00F
> detected, installing workaround", where it would normally print "Card inserted,
> slot 0". I get a "Fatal trap 12: page fault while in kernel mode" and, when I
> reboot, it boots ok once more, and so on (all the even boots end with a panic,
> but the odd ones work perfectly).

Interesting.  Any chance of getting a crash dump to see exactly where
the fault is occurring?

> It is obviously a driver configuration problem, so I tried to disable
> interrupts in the init routine, and just moved the panic just below the "apm:
> found APM BIOS version 1.2" message, where it would normally print "PC-Card
> Cirrus Logic PD672X (5 mem & 2 I/O windows)". Once more, I get a trap 12, but
> this time when I reboot the machine does not see the HD any more: I have to
> power cycle it.

It's possible that the 'poll' is causing the panic.  Try disabling the
poll of the PCCARD controller in /sys/pccard/pcic.c.  A cut-paste
uni-diff is appended below (don't apply it, it won't work).

[ Patch deleted ]

I'll wait until everything is done until I submi this patch, OK?


Nate
----------
Index: pcic.c
===================================================================
RCS file: /home/CVS/src/sys/pccard/pcic.c,v
retrieving revision 1.23.2.5
diff -u -r1.23.2.5 pcic.c
--- pcic.c      1997/11/15 14:11:34     1.23.2.5
+++ pcic.c      1998/01/18 19:08:57
@@ -794,8 +794,8 @@
        pcic98_probe_end:
        }
 #endif /* PC98 */
-       if (validslots)
-               timeout(pcictimeout,0,hz/2);
+       if (validslots && pcic_irq == 0)
+               timeout(pcictimeout, 0, hz/2);
        return(validslots);
 }
 



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?199801181911.MAA00697>