Hmm.... under Solaris 8 that wouldn't help.
I have a driver (prism wifi driver on certain Tadpole hardware) that
experienced the same problem.
The problem is that if the hardware comes up with interrupts enabled,
you need to make sure that the interrupt is disabled before the
interrupt is enabled (typically in attach(9e).)
This can be problematic for devices that have shared interrupts. If you
are running into this problem on x86 hardware, you really should try to
assign the device its own IRQ (i.e. if it is sharing an IRQ bad things
will happen if the "other device" it is sharing the IRQ with enables the
interrupt before your driver gets a chance to make sure the interrupt is
disabled.
Another workaround that _might_ work would be to list the device driver
in the ddi-forceattach property list (I don't recall _precisely_ how to
do that offhand), as it _may_ cause your driver to get loaded and
attach(9e)'d before the other device.
-- Garrett
Quaker Fang wrote:
> Hi Casper,
>
> Casper.Dik at Sun.COM wrote:
>
>>> BTW, I found another problem that the system hangs right after SunOS
>>> copyright message when I rebooted the system without power cycle.
>>> I tried to narrow the root-cause by modifying the ral source code,
>>> but no luck. It may be a cardbus issue, not ral.
>>>
>>
>> Have you tried creating a reset entry point which disables the driver's
>> interrupt? (as in iprbreset()).
>>
>>
> There is a gld_reset entry point in the driver, which will initialize the
> hardware and enable the interrupt.
>
> Do you mean I should disable the interrupt in the gld_reset() and enable
> it in the gld_start()?
> If yes, Murayama, could you please try on your machine, and see result?
>
> Thanks!
>
> --
> Quaker
>
>> In some cases, a warm reboot does not reset all hardware and that may
>> cause a stuck interrupt.
>>
>> Casper
>>
>> _______________________________________________
>> laptop-discuss mailing list
>> laptop-discuss at opensolaris.org
>>
>>
>
> _______________________________________________
> laptop-discuss mailing list
> laptop-discuss at opensolaris.org
--
Garrett D'Amore, Principal Software Engineer
Tadpole Computer / Computing Technologies Division,
General Dynamics C4 Systems
http://www.tadpolecomputer.com/
Phone: 951 325-2134 Fax: 951 325-2191