Use the new libsas event notifiers API, which requires callers to
explicitly pass the gfp_t memory allocation flags.

Context analysis:

  - sas_enable_revalidation(): process, acquires mutex
  - sas_resume_ha(): process, calls wait_event_timeout()

Signed-off-by: Ahmed S. Darwish <a.darw...@linutronix.de>
Reviewed-by: John Garry <john.ga...@huawei.com>
Cc: Jason Yan <yanai...@huawei.com>
---
 drivers/scsi/libsas/sas_event.c | 3 ++-
 drivers/scsi/libsas/sas_init.c  | 3 ++-
 2 files changed, 4 insertions(+), 2 deletions(-)

diff --git a/drivers/scsi/libsas/sas_event.c b/drivers/scsi/libsas/sas_event.c
index ba266a17250a..25f3aaea8142 100644
--- a/drivers/scsi/libsas/sas_event.c
+++ b/drivers/scsi/libsas/sas_event.c
@@ -109,7 +109,8 @@ void sas_enable_revalidation(struct sas_ha_struct *ha)
 
                sas_phy = container_of(port->phy_list.next, struct asd_sas_phy,
                                port_phy_el);
-               sas_notify_port_event(sas_phy, PORTE_BROADCAST_RCVD);
+               sas_notify_port_event_gfp(sas_phy,
+                               PORTE_BROADCAST_RCVD, GFP_KERNEL);
        }
        mutex_unlock(&ha->disco_mutex);
 }
diff --git a/drivers/scsi/libsas/sas_init.c b/drivers/scsi/libsas/sas_init.c
index f8ae1f0f17d3..9ce0cd214eb9 100644
--- a/drivers/scsi/libsas/sas_init.c
+++ b/drivers/scsi/libsas/sas_init.c
@@ -404,7 +404,8 @@ void sas_resume_ha(struct sas_ha_struct *ha)
 
                if (phy->suspended) {
                        dev_warn(&phy->phy->dev, "resume timeout\n");
-                       sas_notify_phy_event(phy, PHYE_RESUME_TIMEOUT);
+                       sas_notify_phy_event_gfp(phy, PHYE_RESUME_TIMEOUT,
+                                                GFP_KERNEL);
                }
        }
 
-- 
2.30.0

Reply via email to