Re: [PATCH] Disable Bus Master on PCI device shutdown

From: Matthew Garrett
Date: Wed Jun 06 2012 - 13:42:03 EST


On Wed, Jun 06, 2012 at 11:32:36AM -0600, Khalid Aziz wrote:

> Do we agree that if device shutdown routine cleanly shuts down all I/O,
> clearing PCI Bus Mster bit should be safe?

In the absence of hardware that dislikes the bus master bit ever being
disabled, yes. Do we know if hardware is ever tested in that situation?

> If yes, then we only have to deal with broken devices. So the approach
> could be to disable Bus Master bit unless the device ID matches a
> blacklist which we update as we find broken devices. I really don't
> like the idea of maintaining blacklists in the kernel for such things
> but is that a more practical approach? If blacklist does not sound
> good, maybe we can ask drivers to tell PCI subsystem if they are not
> ok with clearing Bus Master bit and then PCI subsystem could skip
> those devices.

Or we could just put responsibility on the drivers to ensure that the
hardware won't continue doing any DMA, either by shutting down the
engines or clearing the bit.

--
Matthew Garrett | mjg59@xxxxxxxxxxxxx
--
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/