]> git.karo-electronics.de Git - karo-tx-linux.git/commit
PCI: Warn on possible RW1C corruption for sub-32 bit config writes
authorBjorn Helgaas <bhelgaas@google.com>
Mon, 31 Oct 2016 21:00:01 +0000 (16:00 -0500)
committerBjorn Helgaas <bhelgaas@google.com>
Mon, 21 Nov 2016 22:25:39 +0000 (16:25 -0600)
commitfb26592301200dbbe4a9943fe188b57a46716900
tree5688b579fea3e33a47263646c4b24f914334b8e8
parent702ed3be1b1bf4dea05954168321741c0910c645
PCI: Warn on possible RW1C corruption for sub-32 bit config writes

Hardware that supports only 32-bit config writes is not spec-compliant.
For example, if software performs a 16-bit write, we must do a 32-bit read,
merge in the 16 bits we intend to write, followed by a 32-bit write.  If
the 16 bits we *don't* intend to write happen to have any RW1C (write-one-
to-clear) bits set, we just inadvertently cleared something we shouldn't
have.

Add a rate-limited warning when we do sub-32 bit config writes.  Remove
similar probe-time warnings from some of the affected host bridge drivers.

Signed-off-by: Bjorn Helgaas <bhelgaas@google.com>
Enthusiastically-Acked-by: Russell King <rmk+kernel@armlinux.org.uk>
Acked-by: Shawn Lin <shawn.lin@rock-chips.com> # rockchip
Acked-by: Thierry Reding <treding@nvidia.com>
drivers/pci/access.c
drivers/pci/host/pcie-hisi.c
drivers/pci/host/pcie-rockchip.c