The driver calls request_irq in resume but does not call free_irq in
suspend.
Add the missed call to fix it.
Signed-off-by: Chuhong Yuan <[email protected]>
---
drivers/scsi/smartpqi/smartpqi_init.c | 2 ++
1 file changed, 2 insertions(+)
diff --git a/drivers/scsi/smartpqi/smartpqi_init.c b/drivers/scsi/smartpqi/smartpqi_init.c
index 7b7ef3acb504..2251c39afb1b 100644
--- a/drivers/scsi/smartpqi/smartpqi_init.c
+++ b/drivers/scsi/smartpqi/smartpqi_init.c
@@ -8078,6 +8078,8 @@ static __maybe_unused int pqi_suspend(struct pci_dev *pci_dev, pm_message_t stat
pqi_ctrl_wait_for_pending_io(ctrl_info, NO_TIMEOUT);
pqi_stop_heartbeat_timer(ctrl_info);
+ free_irq(pci_irq_vector(pci_dev, 0), &ctrl_info->queue_groups[0]);
+
if (state.event == PM_EVENT_FREEZE)
return 0;
--
2.24.0
> The driver calls request_irq in resume but does not call free_irq in
> suspend.
> Add the missed call to fix it.
Microsemi: Please review!
--
Martin K. Petersen Oracle Linux Engineering
-----Original Message-----
The driver calls request_irq in resume but does not call free_irq in suspend.
Add the missed call to fix it.
Signed-off-by: Chuhong Yuan <[email protected]>
NAK: free_irq is called in pqi_resume after checking for correct power state change. (in pqi_free_interrupts())
Thanks for your review,
Don
---
drivers/scsi/smartpqi/smartpqi_init.c | 2 ++
1 file changed, 2 insertions(+)
diff --git a/drivers/scsi/smartpqi/smartpqi_init.c b/drivers/scsi/smartpqi/smartpqi_init.c
index 7b7ef3acb504..2251c39afb1b 100644
--- a/drivers/scsi/smartpqi/smartpqi_init.c
+++ b/drivers/scsi/smartpqi/smartpqi_init.c
@@ -8078,6 +8078,8 @@ static __maybe_unused int pqi_suspend(struct pci_dev *pci_dev, pm_message_t stat
pqi_ctrl_wait_for_pending_io(ctrl_info, NO_TIMEOUT);
pqi_stop_heartbeat_timer(ctrl_info);
+ free_irq(pci_irq_vector(pci_dev, 0),
+ &ctrl_info->queue_groups[0]);
+
if (state.event == PM_EVENT_FREEZE)
return 0;
--
2.24.0