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

Re: antares qlogic sbus scsi controller ?



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.




Reply to: