]> git.sur5r.net Git - u-boot/blobdiff - drivers/pci.c
* Patch by Matthew S. McClintock, 14 Apr 2004:
[u-boot] / drivers / pci.c
index 5a9dae47f34a176a2ca659c4b24a47367efb1602..b9dcc5bd651d6a4b6a2d3eb70f8c59d464be972e 100644 (file)
@@ -103,14 +103,14 @@ int pci_hose_write_config_##size##_via_dword(struct pci_controller *hose,\
                                             pci_dev_t dev,             \
                                             int offset, type val)      \
 {                                                                      \
-       u32 val32, mask, ldata;                                         \
+       u32 val32, mask, ldata, shift;                                  \
                                                                        \
        if (pci_hose_read_config_dword(hose, dev, offset & 0xfc, &val32) < 0)\
                return -1;                                              \
                                                                        \
-       mask = val_mask;                                                \
-       ldata = (((unsigned long)val) & mask) << ((offset & (int)off_mask) * 8);\
-       mask <<= ((mask & (int)off_mask) * 8);                          \
+       shift = ((offset & (int)off_mask) * 8);                         \
+       ldata = (((unsigned long)val) & val_mask) << shift;             \
+       mask = val_mask << shift;                                       \
        val32 = (val32 & ~mask) | ldata;                                \
                                                                        \
        if (pci_hose_write_config_dword(hose, dev, offset & 0xfc, val32) < 0)\