[PATCH] PCI: Clear Bus Master bit only on kexec reboot
mjg59 at srcf.ucam.org
Wed Nov 27 17:07:04 EST 2013
On Wed, Nov 27, 2013 at 02:01:06PM -0800, Greg KH wrote:
> On Wed, Nov 27, 2013 at 09:53:09PM +0000, Matthew Garrett wrote:
> > On Wed, Nov 27, 2013 at 01:22:27PM -0800, Greg KH wrote:
> > > Then fix the drivers please. It's not as if you don't have access to
> > > the source for them all...
> > Define "fix". It's clearly wrong to disable busmastering at shutdown on
> > some devices, otherwise we wouldn't be having this discussion at all.
> I thought it was only "wrong" to disable this on multi-function devices,
> which is why some drivers didn't do it. Otherwise, how would it be any
> different to have the global setting?
kexec doesn't jump into the firmware, so firmware assumptions about the
state of the busmaster bit don't matter.
> Anyway, I really don't care either way, but this seems like something
> that the drivers should be doing. What suddenly changed that caused
> this problem to occur that hasn't happened in the years prior to now
> that drives this to be a stable-kernel issue?
We started clearing the busmaster bit on all devices on shutdown in
3.something in order to ensure that DMA wasn't occuring while we were
in the process of performing a kexec. Some machines freeze on shutdown
as a result. This patch reverts back to the original behaviour on real
shutdown, while still avoiding the "This PCI device scribbled over my
new kernel" kexec case.
Matthew Garrett | mjg59 at srcf.ucam.org
More information about the kexec