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

Tejun Heo
2007-03-15T02:39:58Z

Andi Kleen wrote:
> Tejun Heo <htejun@gmail.com> 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