aboutsummaryrefslogtreecommitdiff
path: root/hw/pci.c
diff options
context:
space:
mode:
Diffstat (limited to 'hw/pci.c')
-rw-r--r--hw/pci.c9
1 files changed, 5 insertions, 4 deletions
diff --git a/hw/pci.c b/hw/pci.c
index ff5a44efba..2d8fcbcc5b 100644
--- a/hw/pci.c
+++ b/hw/pci.c
@@ -214,7 +214,7 @@ void pci_default_write_config(PCIDevice *d,
uint32_t address, uint32_t val, int len)
{
int can_write, i;
- uint32_t end;
+ uint32_t end, addr;
if (len == 4 && (address >= 0x10 && address < 0x10 + 4 * 6)) {
PCIIORegion *r;
@@ -233,9 +233,10 @@ void pci_default_write_config(PCIDevice *d,
}
default_config:
/* not efficient, but simple */
+ addr = address;
for(i = 0; i < len; i++) {
/* default read/write accesses */
- switch(address) {
+ switch(addr) {
case 0x00:
case 0x01:
case 0x02:
@@ -253,9 +254,9 @@ void pci_default_write_config(PCIDevice *d,
break;
}
if (can_write) {
- d->config[address] = val;
+ d->config[addr] = val;
}
- address++;
+ addr++;
val >>= 8;
}