Subject: [PATCH] PCI: mvebu: Handle changes to the bridge windows while enabled

From: [email-masked] (Jason Gunthorpe)
Date: Mon, 30 Jan 2017 09:51:46 -0700

On Mon, Jan 30, 2017 at 09:41:36AM -0600, Bjorn Helgaas wrote:
> On Mon, Dec 12, 2016 at 11:30:20AM -0700, Jason Gunthorpe wrote:
> > The PCI core will write to the bridge window config multiple times
> > while they are enabled. This can lead to mbus failures like:
> > 
> >  mvebu_mbus: cannot add window '4:e8', conflicts with another window
> >  mvebu-pcie mbus:pex at e0000000: Could not create MBus window at [mem 0xe0000000-0xe00fffff]: -22
> > 
> > For me this is happening during a hotplug cycle. The PCI core is
> > not changing the values, just writing them twice while active.
> > 
> > The patch addresses the general case of any change to an active window,
> > but not atomically. The code is slightly refactored so io and mem
> > can share more of the window logic.
> > 
> > Signed-off-by: Jason Gunthorpe <[email-masked]>
> 
> Applied with Jason C's ack to pci/host-mvebu for v4.11, thanks!

Thank you for keeping on top of this Bjorn!

Jason