summaryrefslogtreecommitdiffstats
path: root/drivers/edac
diff options
context:
space:
mode:
authorJeff Haran <jharan@Brocade.COM>2009-04-13 14:40:20 -0700
committerLinus Torvalds <torvalds@linux-foundation.org>2009-04-13 15:04:33 -0700
commite6da46b273443c8cebef81a68b2d0d955b8a07b4 (patch)
tree07beffa07aac423c67d2cb211c29db14d9276c9c /drivers/edac
parenta7665b0a380585fbd70a2275f3120c6086e0c92d (diff)
downloadlinux-stable-e6da46b273443c8cebef81a68b2d0d955b8a07b4.tar.gz
linux-stable-e6da46b273443c8cebef81a68b2d0d955b8a07b4.tar.bz2
linux-stable-e6da46b273443c8cebef81a68b2d0d955b8a07b4.zip
edac: fix local pci_write_bits32
Fix the edac local pci_write_bits32 to properly note the 'escape' mask if all ones in a 32-bit word. Currently no consumer of this function uses that mask, so there is no danger to existing code. Signed-off-by: Jeff Haran <jharan@Brocade.COM> Signed-off-by: Doug Thompson <dougthompson@xmission.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Diffstat (limited to 'drivers/edac')
-rw-r--r--drivers/edac/edac_core.h12
1 files changed, 10 insertions, 2 deletions
diff --git a/drivers/edac/edac_core.h b/drivers/edac/edac_core.h
index 28f2c3f959b5..6ad95c8d6363 100644
--- a/drivers/edac/edac_core.h
+++ b/drivers/edac/edac_core.h
@@ -767,11 +767,19 @@ static inline void pci_write_bits16(struct pci_dev *pdev, int offset,
pci_write_config_word(pdev, offset, value);
}
-/* write all or some bits in a dword-register*/
+/*
+ * pci_write_bits32
+ *
+ * edac local routine to do pci_write_config_dword, but adds
+ * a mask parameter. If mask is all ones, ignore the mask.
+ * Otherwise utilize the mask to isolate specified bits
+ *
+ * write all or some bits in a dword-register
+ */
static inline void pci_write_bits32(struct pci_dev *pdev, int offset,
u32 value, u32 mask)
{
- if (mask != 0xffff) {
+ if (mask != 0xffffffff) {
u32 buf;
pci_read_config_dword(pdev, offset, &buf);