Re: [PATCH/RFC] PCI prepare/activate instead of enable to avoid IRQstorm and rogue DMA access

From: Tejun Heo
Date: Wed Mar 14 2007 - 22:40:36 EST


Andi Kleen wrote:
Tejun Heo <htejun@xxxxxxxxx> writes:
Let's assume there's a device which shares its INTX IRQ line with
another device and the other one is already initialized. During boot,
due to BIOS's fault, bad hardware design or sheer bad luck, the device
has got a pending IRQ.

This seems to be also common after kexec during kexec crashdumps
where the device just continues doing what it did before the crash.

This patch expands the pci_set_master() approach. Instead of enabling
the device in one go, it's done in two steps - prepare and activate.
'prepare' enables access to PCI configuration,

I hope there aren't any new erratas triggered by this. Perhaps it would
make sense to add some paranoia sleeps at least before touching other
state?

Do you mean between disabling IRQ mechanisms and enabling PCI device in pcim_prepare_device()?

Thanks.

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