summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRanbir Singh <Ranbir.Singh3@Dell.com>2023-07-17 12:24:44 +0800
committermergify[bot] <37929162+mergify[bot]@users.noreply.github.com>2023-08-02 03:13:36 +0000
commitd11968fcc56cbbffef7d906048b00faea9415447 (patch)
treebee3d6bf7cbefa81d796c8092748d719514abf1c
parentc7c1170a4568ecc0f63e14ca6a844d40f47519a9 (diff)
downloadedk2-d11968fcc56cbbffef7d906048b00faea9415447.tar.gz
edk2-d11968fcc56cbbffef7d906048b00faea9415447.tar.bz2
edk2-d11968fcc56cbbffef7d906048b00faea9415447.zip
MdeModulePkg/Bus/Ata/AtaAtapiPassThru: Fix UNUSED_VALUE Coverity issue
The return value stored in Status after call to SetDriveParameters is not made of any use thereafter and hence it remains as UNUSED. Based on Hao's findings (https://edk2.groups.io/g/devel/message/106844), the successful execution of SetDriveParameters() is not mandatory for initializing IDE mode of a hard disk device. Hence remove the 'Status' assignment of the return value from SetDriveParameters() and instead add error checks & DEBUG_WARN level messages within SetDriveParameters() function after sending INIT_DRIVE_PARAM & SET_MULTIPLE_MODE ATA commands. REF: https://bugzilla.tianocore.org/show_bug.cgi?id=4204 Cc: Hao A Wu <hao.a.wu@intel.com> Cc: Ray Ni <ray.ni@intel.com> Signed-off-by: Ranbir Singh <Ranbir.Singh3@Dell.com> Signed-off-by: Ranbir Singh <rsingh@ventanamicro.com> Reviewed-by: Hao A Wu <hao.a.wu@intel.com>
-rw-r--r--MdeModulePkg/Bus/Ata/AtaAtapiPassThru/IdeMode.c12
1 files changed, 10 insertions, 2 deletions
diff --git a/MdeModulePkg/Bus/Ata/AtaAtapiPassThru/IdeMode.c b/MdeModulePkg/Bus/Ata/AtaAtapiPassThru/IdeMode.c
index 75403886e4..19d7b4930c 100644
--- a/MdeModulePkg/Bus/Ata/AtaAtapiPassThru/IdeMode.c
+++ b/MdeModulePkg/Bus/Ata/AtaAtapiPassThru/IdeMode.c
@@ -1992,6 +1992,10 @@ SetDriveParameters (
NULL
);
+ if (EFI_ERROR (Status)) {
+ DEBUG ((DEBUG_WARN, "Init Drive Parameters Fail, Status = %r\n", Status));
+ }
+
//
// Send Set Multiple parameters
//
@@ -2008,6 +2012,10 @@ SetDriveParameters (
NULL
);
+ if (EFI_ERROR (Status)) {
+ DEBUG ((DEBUG_WARN, "Set Multiple Mode Parameters Fail, Status = %r\n", Status));
+ }
+
return Status;
}
@@ -2549,13 +2557,13 @@ DetectAndConfigIdeDevice (
//
if (DeviceType == EfiIdeHarddisk) {
//
- // Init driver parameters
+ // Init drive parameters
//
DriveParameters.Sector = (UINT8)((ATA5_IDENTIFY_DATA *)(&Buffer.AtaData))->sectors_per_track;
DriveParameters.Heads = (UINT8)(((ATA5_IDENTIFY_DATA *)(&Buffer.AtaData))->heads - 1);
DriveParameters.MultipleSector = (UINT8)((ATA5_IDENTIFY_DATA *)(&Buffer.AtaData))->multi_sector_cmd_max_sct_cnt;
- Status = SetDriveParameters (Instance, IdeChannel, IdeDevice, &DriveParameters, NULL);
+ SetDriveParameters (Instance, IdeChannel, IdeDevice, &DriveParameters, NULL);
}
//