diff options
Diffstat (limited to 'target/linux')
| -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 e02583495..d9aa22b35 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:  | 
