From 8496e946b9bf069b98ea4016dfd4a524a35a27eb Mon Sep 17 00:00:00 2001 From: Felix Fietkau Date: Sun, 25 Mar 2007 16:25:15 +0000 Subject: add fix from #1516 SVN-Revision: 6697 --- target/linux/brcm47xx-2.6/files/drivers/ssb/driver_pci/pcicore.c | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/target/linux/brcm47xx-2.6/files/drivers/ssb/driver_pci/pcicore.c b/target/linux/brcm47xx-2.6/files/drivers/ssb/driver_pci/pcicore.c index e025834..d9aa22b 100644 --- a/target/linux/brcm47xx-2.6/files/drivers/ssb/driver_pci/pcicore.c +++ b/target/linux/brcm47xx-2.6/files/drivers/ssb/driver_pci/pcicore.c @@ -162,7 +162,6 @@ static int ssb_extpci_read_config(struct ssb_pcicore *pc, goto unmap; } - val = readl(mmio); val >>= (8 * (off & 3)); switch (len) { @@ -210,12 +209,10 @@ static int ssb_extpci_write_config(struct ssb_pcicore *pc, switch (len) { case 1: - val = readl(mmio); val &= ~(0xFF << (8 * (off & 3))); val |= *((const u8 *)buf) << (8 * (off & 3)); break; case 2: - val = readl(mmio); val &= ~(0xFFFF << (8 * (off & 3))); val |= *((const u16 *)buf) << (8 * (off & 3)); break; @@ -223,7 +220,7 @@ static int ssb_extpci_write_config(struct ssb_pcicore *pc, val = *((const u32 *)buf); break; } - writel(*((const u32 *)buf), mmio); + writel(val, mmio); err = 0; unmap: -- cgit v1.1