Port-sgimips archive

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

Re: 5.1 panics on a Challenge S



On Tue, 15 Feb 2011 10:49:14 -0500
Michael <macallan%netbsd.org@localhost> wrote:

> that should come from hpc3_devices[].hd_irq, I don't really see how  
> that could end up being bogus unless something else stomps all over  
> hpc3_devices or something buggered up the hpc_attach_args panel gets  
> ( looking at -current but the relevant bits are identical )
> The panel driver doesn't do much in terms of attach logic, it relies  
> on hpc.c doing The Right Thing(tm).

I added a printf into the for loop in hpc_attach that iterates
through the hpc3_devices table:
printf("hpc_attach: %s: irq=%d\n", ha.ha_name, ha.ha_irq);

The results suggest that it may be tripping over the non-existant
haltwo device, the debug output seems to be in the wrong order after
that. Here's what it looks like on my Indy:

hpc_attach: wdsc: irq=1
wdsc0 at hpc0 offset 0x44000int_intr_establish: level=1
: WD33C93B (20.0 MHz clock, BURST DMA, SCSI ID 0)
wdsc0: microcode revision 0x0d, Fast SCSI
scsibus0 at wdsc0: 8 targets, 8 luns per target
hpc_attach: dsclock: irq=-1
dsclock0 at hpc0 offset 0x60000
hpc_attach: haltwo: irq=12
haltwo0 at hpc0 offset 0x58000int_intr_establish: level=12
: HAL2 revision 4.1.0 
audio0 at haltwo0: half duplex, playback, capture
hpc_attach: pi1ppc: irq=-1
pi1ppc0 at hpc0 offset 0x59800
pi1ppc0: capabilities=8<PS2>
ppbus0 at pi1ppc0
ppbus0: No IEEE1284 device found.
lpt0 at ppbus0: port mode = 1<COMPATIBLE>
hpc_attach: panel: irq=9
panel0 at hpc0 offset 0x59850
int_intr_establish: level=9

And here's is what it looks like on my Challenge S:

hpc_attach: wdsc: irq=1  
wdsc0 at hpc0 offset 0x44000int_intr_establish: level=1  
: WD33C93B (20.0 MHz clock, BURST DMA, SCSI ID 0)  
wdsc0: microcode revision 0x0d, Fast SCSI  
scsibus0 at wdsc0: 8 targets, 8 luns per target  
hpc_attach: dsclock: irq=-1  
dsclock0 at hpc0 offset 0x60000  
hpc_attach: haltwo: irq=12      /* haltwo doesn't exist */
pi1ppc0 at hpc0 offset 0x58000  
pi1ppc0: capabilities=8<PS2>  
ppbus0 at pi1ppc0  
ppbus0: No IEEE1284 device found.  
hpc_attach: pi1ppc: irq=-1     /* message out-of-order */
panel0 at hpc0 offset 0x59800  
int_intr_establish: level=-1  
panic: invalid interrupt level 

The panel code seems to be getting a -1 irq level from the pi1ppc table
entry but I can't work out how that is happening.

George



Home | Main Index | Thread Index | Old Index