audk/MdeModulePkg/Bus
Ray Ni 0fa92d5839 MdeModulePkg/PciBus: Fix a bug PPB MEM32 BAR isn't restored sometimes
REF: https://bugzilla.tianocore.org/show_bug.cgi?id=1505

When a device under PPB contains option ROM but doesn't require 32bit
MMIO, ProgrameUpstreamBridgeForRom() cannot correctly restore the
PPB MEM32 RANGE BAR. It causes the 32bit MMIO conflict which may
cause system hangs in boot.

The root cause is when ProgrameUpstreamBridgeForRom() calls
ProgramPpbApperture() to restore the PPB MEM32 RANGE BAR, the
ProgramPpbApperture() skips to program the BAR when the resource
length is 0.

This patch fixes this issue by not calling ProgramPpbApperture().
Instead, it directly programs the PPB MEM32 RANGE BAR.

Contributed-under: TianoCore Contribution Agreement 1.1
Signed-off-by: Ray Ni <ray.ni@intel.com>
Reviewed-by: Hao Wu <hao.a.wu@intel.com>
Cc: Dandan Bi <dandan.bi@intel.com>
2019-02-14 14:56:57 +08:00
..
Ata MdeModulePkg: Removing ipf which is no longer supported from edk2. 2018-09-06 15:25:16 +08:00
I2c/I2cDxe MdeModulePkg: Removing ipf which is no longer supported from edk2. 2018-09-06 15:25:16 +08:00
Isa MdeModulePkg: Avoid key notification called more than once 2018-09-14 10:18:31 +08:00
Pci MdeModulePkg/PciBus: Fix a bug PPB MEM32 BAR isn't restored sometimes 2019-02-14 14:56:57 +08:00
Scsi MdeModulePkg: Removing ipf which is no longer supported from edk2. 2018-09-06 15:25:16 +08:00
Sd MdeModulePkg/SdDxe: Fix potential NULL pointer access 2018-11-19 09:09:05 +08:00
Ufs MdeModulePkg/Bus/Ufs: Ensure device not return more data than expected 2018-10-17 11:04:05 +08:00
Usb MdeModulePkg: Remove the trailing space in three source files. 2018-11-02 22:15:52 +08:00