Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit e6da46b2 authored by Jeff Haran's avatar Jeff Haran Committed by Linus Torvalds
Browse files

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: default avatarJeff Haran <jharan@Brocade.COM>
Signed-off-by: default avatarDoug Thompson <dougthompson@xmission.com>
Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
parent a7665b0a
Loading
Loading
Loading
Loading
+10 −2
Original line number Diff line number Diff line
@@ -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);