From: Felix Fietkau Date: Sun, 25 Mar 2007 16:25:15 +0000 (+0000) Subject: add fix from #1516 X-Git-Url: http://git.lede-project.org./?a=commitdiff_plain;h=8496e946b9bf069b98ea4016dfd4a524a35a27eb;p=openwrt%2Fstaging%2Fmans0n.git add fix from #1516 SVN-Revision: 6697 --- 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 e025834950..d9aa22b351 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: