Eric,
Sunday evening I got around to trying your code
snippet out. I had to use a different variable
name to match up to what was in the file in
2.2.25, but otherwise seemed like a reasonable
match. The original code in my code tree is:
/* Sometimes Antares cards come up not completely
* setup, and we get a report of a zero IRQ.
* Skip over them in such cases so we survive.
*/
if(qpti_dev->irqs[0] == 0) {
printk("qpti%d: Adapter reports no interrupt, "
"skipping over this card.", nqptis);
continue;
}
So I added a 'qpti_dev->irqs[0] = 0x35;'
and dropped the 'continue;' as per your code mod.
When I rebooted to a kernel that picked up this
scsi driver mod the new qlogic scsi driver got stuck
in an eternal error loop. I've got the box rigged
up as my main email/dhcp/dns/router/firewall
so, given that it was about midnight, I thrashed it
back to the original state without noting the exact
wording of the eternal error loop. I apologize for
not grabbing the exact text.
Heitzso
Eric Brower wrote:
Heitzso wrote:
I have an sbus antares (actually a qlogic)
fast/wide scsi2 controller in my ss20 that the
bootprom finds and solaris found and used but
my 2.2.25 kernel flags as missing an interrupt
and skips over.
I think you are talking seeing this:
> /* Sometimes Antares cards come up not completely
> * setup, and we get a report of a zero IRQ.
> * Skip over them in such cases so we survive.
> */
> if (sdev->irqs[0] == 0) {
> printk("qpti%d: Adapter reports no interrupt, "
> "skipping over this card.", nqptis);
> continue;
> }
My guess is "sometimes" in the above comment means "On sun4c/d/m".
If you wanted to test in 2.2.x without the aforementioned patch, you
might be able to do something like (specific to your sun4m):
if (sdev->irqs[0] == 0) {
sdev->irqs[0] = 0x35;
printk("qpti%d: Adapter reports no interrupt, "
"blindly assigning irq 0x35\n");
}
...and see how the rest of the driver likes your card. This is just off
the top of my head-- no guarantees, of course.