diff options
author | Felix Fietkau <nbd@openwrt.org> | 2007-03-25 16:25:15 +0000 |
---|---|---|
committer | Felix Fietkau <nbd@openwrt.org> | 2007-03-25 16:25:15 +0000 |
commit | 8496e946b9bf069b98ea4016dfd4a524a35a27eb (patch) | |
tree | cac05e3c4868049744495f55029dc9b32148a9e8 | |
parent | 0796f7915226696cb23bd305840c863c7221cdd3 (diff) | |
download | upstream-8496e946b9bf069b98ea4016dfd4a524a35a27eb.tar.gz upstream-8496e946b9bf069b98ea4016dfd4a524a35a27eb.tar.bz2 upstream-8496e946b9bf069b98ea4016dfd4a524a35a27eb.zip |
add fix from #1516
SVN-Revision: 6697
-rw-r--r-- | target/linux/brcm47xx-2.6/files/drivers/ssb/driver_pci/pcicore.c | 5 |
1 files changed, 1 insertions, 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 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: |