PCI: read-modify-write the pcie device control register when initiating pcie flr
authorShmulik Ravid <shmulikr@broadcom.com>
Thu, 3 Dec 2009 20:27:51 +0000 (22:27 +0200)
committerJesse Barnes <jbarnes@virtuousgeek.org>
Fri, 4 Dec 2009 23:49:44 +0000 (15:49 -0800)
commit04b55c4732780381410e52db0e9bfb7661f2b4b3
tree6c8a96438f40aa60038a9bd422c38833bdc7aa7a
parentbb965401fd2afa26629b244e7bb2e48a117dc238
PCI: read-modify-write the pcie device control register when initiating pcie flr

The pcie_flr routine writes the device control register with the FLR bit
set clearing all other fields for the FLR duration. Among other fields,
the Max_Payload_Size is also cleared which can cause errors if there are
transactions lurking in the HW pipeline. The patch replaces the blank
write with read-modify-write of the control register keeping the other
fields intact.

Signed-off-by: Shmulik Ravid <shmulikr@broadcom.com>
Signed-off-by: Jesse Barnes <jbarnes@virtuousgeek.org>
drivers/pci/pci.c