Re: [smartpqi updates V2 PATCH 8/9] smartpqi: fix isr accessing uninitialized data

From: John Donnelly
Date: Tue Jul 13 2021 - 21:17:17 EST


On 7/13/21 4:02 PM, Don Brace wrote:
From: Mike McGowen <mike.mcgowen@xxxxxxxxxxxxx>

Correct driver's ISR accessing a data structure member
that has not been fully initialized during driver
initialization.
- The pqi queue groups can have uninitialized members
when an interrupt fires. This has not resulted in
any driver crashes. This was found during our own
internal testing. No bugs were ever filed.

Reviewed-by: Kevin Barnett <kevin.barnett@xxxxxxxxxxxxx>
Reviewed-by: Scott Benesh <scott.benesh@xxxxxxxxxxxxx>
Reviewed-by: Scott Teel <scott.teel@xxxxxxxxxxxxx>
Signed-off-by: Mike McGowen <mike.mcgowen@xxxxxxxxxxxxx>
Signed-off-by: Don Brace <don.brace@xxxxxxxxxxxxx>


Acked-by : John Donnelly <john.p.donnelly@xxxxxxxxxx>

---
drivers/scsi/smartpqi/smartpqi_init.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/drivers/scsi/smartpqi/smartpqi_init.c b/drivers/scsi/smartpqi/smartpqi_init.c
index f0e84354f782..ab1c9c483478 100644
--- a/drivers/scsi/smartpqi/smartpqi_init.c
+++ b/drivers/scsi/smartpqi/smartpqi_init.c
@@ -7760,11 +7760,11 @@ static int pqi_ctrl_init(struct pqi_ctrl_info *ctrl_info)
pqi_init_operational_queues(ctrl_info);
- rc = pqi_request_irqs(ctrl_info);
+ rc = pqi_create_queues(ctrl_info);
if (rc)
return rc;
- rc = pqi_create_queues(ctrl_info);
+ rc = pqi_request_irqs(ctrl_info);
if (rc)
return rc;