summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorStar Zeng <star.zeng@intel.com>2017-11-20 15:44:24 +0800
committerStar Zeng <star.zeng@intel.com>2017-11-22 18:37:48 +0800
commitc34a5aab53d2fd87204a00bb93cd41bb6dc4d15b (patch)
treeedde5450487782f9d1920d6421e1dd90fbdac2d6
parenta8035b908655afd59321173752b29970ae61601b (diff)
downloadedk2-c34a5aab53d2fd87204a00bb93cd41bb6dc4d15b.zip
edk2-c34a5aab53d2fd87204a00bb93cd41bb6dc4d15b.tar.gz
edk2-c34a5aab53d2fd87204a00bb93cd41bb6dc4d15b.tar.bz2
MdeModulePkg EhciPei: Minor refinement about IOMMU
This patch is following 2c656af04d7f. 1. Fix typo "XHC" to "EHC". 2. Reinitialize Request(Phy/Map) and Data(Phy/Map) in Urb, otherwise the last time value of them may be used in error handling when error happens. 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>
-rw-r--r--MdeModulePkg/Bus/Pci/EhciPei/EhcPeim.h2
-rw-r--r--MdeModulePkg/Bus/Pci/EhciPei/EhciUrb.c13
2 files changed, 7 insertions, 8 deletions
diff --git a/MdeModulePkg/Bus/Pci/EhciPei/EhcPeim.h b/MdeModulePkg/Bus/Pci/EhciPei/EhcPeim.h
index 2794074..715a5ab 100644
--- a/MdeModulePkg/Bus/Pci/EhciPei/EhcPeim.h
+++ b/MdeModulePkg/Bus/Pci/EhciPei/EhcPeim.h
@@ -99,7 +99,7 @@ struct _PEI_USB2_HC_DEV {
EDKII_IOMMU_PPI *IoMmu;
EFI_PEI_PPI_DESCRIPTOR PpiDescriptor;
//
- // EndOfPei callback is used to stop the XHC DMA operation
+ // EndOfPei callback is used to stop the EHC DMA operation
// after exit PEI phase.
//
EFI_PEI_NOTIFY_DESCRIPTOR EndOfPeiNotifyList;
diff --git a/MdeModulePkg/Bus/Pci/EhciPei/EhciUrb.c b/MdeModulePkg/Bus/Pci/EhciPei/EhciUrb.c
index 3dadcd6..baacf5d 100644
--- a/MdeModulePkg/Bus/Pci/EhciPei/EhciUrb.c
+++ b/MdeModulePkg/Bus/Pci/EhciPei/EhciUrb.c
@@ -576,7 +576,12 @@ EhcCreateUrb (
if (Urb->Qh == NULL) {
goto ON_ERROR;
}
-
+
+ Urb->RequestPhy = NULL;
+ Urb->RequestMap = NULL;
+ Urb->DataPhy = NULL;
+ Urb->DataMap = NULL;
+
//
// Map the request and user data
//
@@ -591,9 +596,6 @@ EhcCreateUrb (
Urb->RequestPhy = (VOID *) ((UINTN) PhyAddr);
Urb->RequestMap = Map;
- } else {
- Urb->RequestPhy = NULL;
- Urb->RequestMap = NULL;
}
if (Data != NULL) {
@@ -613,9 +615,6 @@ EhcCreateUrb (
Urb->DataPhy = (VOID *) ((UINTN) PhyAddr);
Urb->DataMap = Map;
- } else {
- Urb->DataPhy = NULL;
- Urb->DataMap = NULL;
}
Status = EhcCreateQtds (Ehc, Urb);