Bug in cardbus initialization, or am I missing something?

Bug in cardbus initialization, or am I missing something?

Post by David Hind » Mon, 05 Mar 2001 03:10:03



In drivers/pcmcia/cardbus.c in cb_alloc(), PCI_INTERRUPT_LINE and
dev->irq are not filled in until after calling pci_enable_device().
The result is a cryptic message like:

Quote:> PCI: No IRQ known for interrupt pin A of device 01:00.0. Please try using pci=biosirq.

Unless there is a less obvious reason for the ordering, I suggest the
following one-liner.

-- Dave Hinds

--- cardbus.c.orig      Fri Mar  2 09:49:46 2001

                        if (res->flags)
                                pci_assign_resource(dev, r);
                }
-               pci_enable_device(dev); /* XXX check return */

                /* Does this function have an interrupt at all? */

                        pci_writeb(dev, PCI_INTERRUPT_LINE, irq);
                }

+               pci_enable_device(dev); /* XXX check return */
                pci_insert_device(dev, bus);
        }

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in

More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

 
 
 

Bug in cardbus initialization, or am I missing something?

Post by Linus Torvald » Mon, 05 Mar 2001 04:00:04



> In drivers/pcmcia/cardbus.c in cb_alloc(), PCI_INTERRUPT_LINE and
> dev->irq are not filled in until after calling pci_enable_device().
> The result is a cryptic message like:

> > PCI: No IRQ known for interrupt pin A of device 01:00.0. Please try using pci=biosirq.

> Unless there is a less obvious reason for the ordering, I suggest the
> following one-liner.

Agreed.

In fact, we shouldn't need to enable the device at all: the drivers are
supposed to do the pci_enable_device() themselves. But let's do the
minimal "move it down a few lines" thing for now.

Thanks,

                Linus

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in

More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

 
 
 

1. PCI Initialization of Cards buggy or I miss something?

Hi I am currently working on a driver for a pci device. I am using the
2.4-test6 and RH6.2.
I have an ASUS CUV4X with a Celeron 633MHz on it. The BIOS is the Award
Medallion 6.0.
I encountered the following problems when the PNP OS option in the BIOS
is enabled. Although the card is found in the pci bus and is initialized
using the pci_enable_device according to the pci.txt in the kernel docs
the card is not fully functional. i.e working for a second or so and
then halts the application that uses the driver. There are no segfaults
produce neither oops in the kernel. Everything seems absolutely normal
in the kernel logs. And if I terminate the application and start it
again it agains works for a second or two and then halts. Is this an
initialization bug in the PCI support of the kernel? I noticed the same
problem in the bttv driver as well.
Does anyone has any clues on what it could be the problem here. (Apart
from telling me to disable the option in the BIOS which by the way if I
do the card works just fine). From my point of view is should be a bug
in the PCI code.

Thanks in advance
Nikos Kalogridis

2. ConfigXF86 gives 'No such file or directory' errors

3. I am missing something simple

4. Help on Enterprise Server

5. Am I missing something with the 5.0 ISO images?

6. Ezppp | PPP daemon died unexpectaly

7. Am I missing something or does Netscape's NEWS reader suck?

8. Gopher & Gopher Server

9. date/time, Am I missing something?

10. Xconfigurator-am I missing something?

11. Am I Missing Something???

12. named configuration - am I missing something obvious ?

13. Am I missing something?