IntelSiliconPkg IntelVTdDxe: Fix incorrect code to clear VTd error
authorStar Zeng <star.zeng@intel.com>
Tue, 5 Jun 2018 08:04:38 +0000 (16:04 +0800)
committerStar Zeng <star.zeng@intel.com>
Wed, 6 Jun 2018 04:46:43 +0000 (12:46 +0800)
commit8653ea2088a386075c0d65bfc891ad3c8072db9f
tree2582a9657ddb9cfcb48b6f350645de732470c38a
parent91c31ff04a7a72b4b0e476972ad3c76e03a106a2
IntelSiliconPkg IntelVTdDxe: Fix incorrect code to clear VTd error

According to VTd spec, Software writes the value read from this
field (F) to Clear it. But current code is using 0 to clear the
field, that is incorrect.

And R_FSTS_REG register value clearing should be not in the for loop.

Without this patch, we will see same VTd error message appears again
and again after it occurs first time.

Cc: Jiewen Yao <jiewen.yao@intel.com>
Contributed-under: TianoCore Contribution Agreement 1.1
Signed-off-by: Star Zeng <star.zeng@intel.com>
Reviewed-by: Jiewen Yao <jiewen.yao@intel.com>
IntelSiliconPkg/Feature/VTd/IntelVTdDxe/VtdReg.c