From mboxrd@z Thu Jan 1 00:00:00 1970 From: Tejun Heo Subject: Re: [PATCH/RFC] PCI prepare/activate instead of enable to avoid IRQ storm and rogue DMA access Date: Thu, 15 Mar 2007 11:39:58 +0900 Message-ID: <45F8B1FE.5060406@gmail.com> References: <20070314152302.GB15600@htj.dyndns.org> Mime-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Return-path: Received: from ug-out-1314.google.com ([66.249.92.175]:8070 "EHLO ug-out-1314.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1422803AbXCOCkW (ORCPT ); Wed, 14 Mar 2007 22:40:22 -0400 Received: by ug-out-1314.google.com with SMTP id 44so152495uga for ; Wed, 14 Mar 2007 19:40:21 -0700 (PDT) In-Reply-To: Sender: linux-ide-owner@vger.kernel.org List-Id: linux-ide@vger.kernel.org To: Andi Kleen Cc: gregkh@suse.de, Jeff Garzik , linux-kernel@vger.kernel.org, linux-pci@atrey.karlin.mff.cuni.cz, michal.k.k.piotrowski@gmail.com, linux-ide@vger.kernel.org, tglx@linutronix.de, shemminger@linux-foundation.org, mlord@pobox.com, linux-pm@lists.osdl.org Andi Kleen wrote: > Tejun Heo 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