Message ID | 20250211123309.723-1-vulab@iscas.ac.cn |
---|---|
State | New |
Headers | show |
Series | scsi: hpsa: Fix missing error check for hpsa_scsi_do_simple_cmd_with_retry() | expand |
diff --git a/drivers/scsi/hpsa.c b/drivers/scsi/hpsa.c index 0c49414c1f35..79171813bc32 100644 --- a/drivers/scsi/hpsa.c +++ b/drivers/scsi/hpsa.c @@ -3424,8 +3424,11 @@ static int hpsa_bmic_id_physical_device(struct ctlr_info *h, c->Request.CDB[2] = bmic_device_index & 0xff; c->Request.CDB[9] = (bmic_device_index >> 8) & 0xff; - hpsa_scsi_do_simple_cmd_with_retry(h, c, DMA_FROM_DEVICE, + rc = hpsa_scsi_do_simple_cmd_with_retry(h, c, DMA_FROM_DEVICE, NO_TIMEOUT); + if (rc) + goto out; + ei = c->err_info; if (ei->CommandStatus != 0 && ei->CommandStatus != CMD_DATA_UNDERRUN) { hpsa_scsi_interpret_error(h, c);
In the current implementation, the return value of hpsa_scsi_do_simple_cmd_with_retry() is not checked. This can lead to silent failures if the function fails, as the code would continue execution and potentially use invalid error information. This patch adds a check for the return value of hpsa_scsi_do_simple_cmd_with_retry(). If the function fails, the error is propagated to the caller, ensuring proper error handling. Signed-off-by: Wentao Liang <vulab@iscas.ac.cn> --- drivers/scsi/hpsa.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-)