Messages in this thread | | | Subject | Re: RT and pci_lock while reading or writing pci bus configuration. | From | Thomas Gleixner <> | Date | Mon, 20 Feb 2006 20:45:06 +0100 |
| |
On Mon, 2006-02-20 at 15:42 +0100, Serge Noiraud wrote: > Hi, > I have one question : > In drivers/pci/access.c we have a global lock for pci configuration access. > In pci_bus_read_config_* or pci_bus_write_config_* functions, we acquire a lock. > When we call spin_lock_irqsave, we obtain the following message : > BUG: scheduling while atomic: IRQ 137/0x00000001/6431 > caller is schedule+0x43/0x120 > [<c01050ec>] dump_stack+0x1c/0x20 (20) > [<c03e7144>] __schedule+0xf44/0x1240 (236) > [<c03e7483>] schedule+0x43/0x120 (12) > [<c03e855b>] __down_mutex+0x2bb/0x5f0 (112) > [<c03ea08c>] _spin_lock_irqsave+0x1c/0x40 (24) > [<c023670d>] pci_bus_read_config_word+0x2d/0x70 (24) > > Do I miss something or is it a BUG ?
Yeah, you missed to paste the full backtrace :)
Preempt count is 1, so you are calling pci_bus_read_config_word() from a non preemptible context.
tglx
- 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/
| |