if (!entry->msi_attrib.maskbit)
                        return 0;
 
-               pos = (long)entry->mask_base;
+               pos = entry->mask_pos;
                pci_read_config_dword(entry->dev, pos, &mask_bits);
                mask_bits &= ~mask;
                mask_bits |= flag & mask;
                unsigned int base, maskbits, temp;
 
                base = msi_mask_bits_reg(pos, entry->msi_attrib.is_64);
-               entry->mask_base = (void __iomem *)(long)base;
-
+               entry->mask_pos = base;
                /* All MSIs are unmasked by default, Mask them all */
                pci_read_config_dword(dev, base, &maskbits);
                temp = msi_mask((control & PCI_MSI_FLAGS_QMASK) >> 1);