Problem initializing PCI boards where IRQ has to be guessed

From: Marty Leisner (mleisner_at_eng.mc.xerox.com)
Date: 09/30/04

  • Next message: Gene Heskett: "Re: Linux 2.6.9-rc3"
    To: linux-kernel@vger.kernel.org
    Date:	Thu, 30 Sep 2004 16:22:40 -0400
    
    

    I had this problem in 2.4.27...the same code is in 2.6.8.1

    If the bios doesn't assign an interrupt, the guessing algorithm is
    able to work only in a very special case (when the mask is one bit).

    In 2.4.27 (I have lxr.linux.no for 2.4.26, its the same in
    2.6.8.1)

    933 if (!irq) {
    934 DBG(" ... failed\n");
    935 if (newirq && mask == (1 << newirq)) {
    936 msg = "Guessed";
    937 irq = newirq;
    938 } else
    939 return 0;

    In 2.4.27 I have:
    @@ -942,7 +939,8 @@
     
            if (!irq) {
                    DBG(" ... failed\n");
    - - if (newirq && mask == (1 << newirq)) {
    + if (newirq && (mask & (1 << newirq))) {
    + /* newirq is a routable interrupt */
                            msg = "Guessed";
                            irq = newirq;
                    } else

    marty mleisner@eng.mc.xerox.com
    Don't confuse education with schooling.
            Milton Friedman to Yogi Berra

    -
    To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
    the body of a message to majordomo@vger.kernel.org
    More majordomo info at http://vger.kernel.org/majordomo-info.html
    Please read the FAQ at http://www.tux.org/lkml/


  • Next message: Gene Heskett: "Re: Linux 2.6.9-rc3"

    Relevant Pages