diff options
author | Ranbir Singh <Ranbir.Singh3@Dell.com> | 2023-07-17 12:24:44 +0800 |
---|---|---|
committer | mergify[bot] <37929162+mergify[bot]@users.noreply.github.com> | 2023-08-02 03:13:36 +0000 |
commit | d11968fcc56cbbffef7d906048b00faea9415447 (patch) | |
tree | bee3d6bf7cbefa81d796c8092748d719514abf1c | |
parent | c7c1170a4568ecc0f63e14ca6a844d40f47519a9 (diff) | |
download | edk2-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.c | 12 |
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);
}
//
|