Use only %di to name the PCI register to read/write, rather than %edi. DOS is only expecting the base PCI config space anyway, and the BIOS might be using the high bits of %edi.
Use only %di to name the PCI register to read/write, rather than %edi. DOS is only expecting the base PCI config space anyway, and the BIOS might be using the high bits of %edi.