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

From: Khalid Aziz
Date: Wed Jun 06 2012 - 13:32:32 EST


On Wed, 2012-06-06 at 17:27 +0100, Matthew Garrett wrote:
> If the qla driver knows that this is safe, then can't this just be done
> in the qla driver?
>

That is one way of doing it. It makes for a safe change but potentially
leaves out a number of other cases that could be helped by wider scope
change of disabling Bus Master bit on all PCI devices, until we
laboriously debug every one of those cases and then add code to disable
Bus Master bit. Sounds to me like it is not a clear win in either case.

Do we agree that if device shutdown routine cleanly shuts down all I/O,
clearing PCI Bus Mster bit should be safe? 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.

--
Khalid
====================================================================
Khalid Aziz Unix Systems Lab
(970)898-9214 Hewlett-Packard
khalid.aziz@xxxxxx Fort Collins, CO

--
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/