diff options
author | Jeff Haran <jharan@Brocade.COM> | 2009-04-13 14:40:20 -0700 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2009-04-13 15:04:33 -0700 |
commit | e6da46b273443c8cebef81a68b2d0d955b8a07b4 (patch) | |
tree | 07beffa07aac423c67d2cb211c29db14d9276c9c /drivers | |
parent | a7665b0a380585fbd70a2275f3120c6086e0c92d (diff) | |
download | kernel_samsung_crespo-e6da46b273443c8cebef81a68b2d0d955b8a07b4.zip kernel_samsung_crespo-e6da46b273443c8cebef81a68b2d0d955b8a07b4.tar.gz kernel_samsung_crespo-e6da46b273443c8cebef81a68b2d0d955b8a07b4.tar.bz2 |
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')
-rw-r--r-- | drivers/edac/edac_core.h | 12 |
1 files changed, 10 insertions, 2 deletions
diff --git a/drivers/edac/edac_core.h b/drivers/edac/edac_core.h index 28f2c3f..6ad95c8 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); |