Commit 42159d3c authored by Xiang Chen's avatar Xiang Chen Committed by Martin K. Petersen

scsi: libsas: Add spin_lock/unlock() to protect asd_sas_port->phy_list

Most places that use asd_sas_port->phy_list in libsas are protected by
spinlock asd_sas_port->phy_list_lock. However, there are still a few places
which miss the lock. Add it in those places.

Link: https://lore.kernel.org/r/1639999298-244569-5-git-send-email-chenxiang66@hisilicon.comReviewed-by: default avatarJohn Garry <john.garry@huawei.com>
Signed-off-by: default avatarXiang Chen <chenxiang66@hisilicon.com>
Signed-off-by: default avatarMartin K. Petersen <martin.petersen@oracle.com>
parent 6e1fcab0
...@@ -104,11 +104,15 @@ void sas_enable_revalidation(struct sas_ha_struct *ha) ...@@ -104,11 +104,15 @@ void sas_enable_revalidation(struct sas_ha_struct *ha)
if (!test_and_clear_bit(ev, &d->pending)) if (!test_and_clear_bit(ev, &d->pending))
continue; continue;
if (list_empty(&port->phy_list)) spin_lock(&port->phy_list_lock);
if (list_empty(&port->phy_list)) {
spin_unlock(&port->phy_list_lock);
continue; continue;
}
sas_phy = container_of(port->phy_list.next, struct asd_sas_phy, sas_phy = container_of(port->phy_list.next, struct asd_sas_phy,
port_phy_el); port_phy_el);
spin_unlock(&port->phy_list_lock);
sas_notify_port_event(sas_phy, sas_notify_port_event(sas_phy,
PORTE_BROADCAST_RCVD, GFP_KERNEL); PORTE_BROADCAST_RCVD, GFP_KERNEL);
} }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment