mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
synced 2025-01-11 07:30:16 +00:00
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.com Reviewed-by: John Garry <john.garry@huawei.com> Signed-off-by: Xiang Chen <chenxiang66@hisilicon.com> Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
This commit is contained in:
parent
6e1fcab00a
commit
42159d3c8d
@ -104,11 +104,15 @@ void sas_enable_revalidation(struct sas_ha_struct *ha)
|
||||
if (!test_and_clear_bit(ev, &d->pending))
|
||||
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;
|
||||
}
|
||||
|
||||
sas_phy = container_of(port->phy_list.next, struct asd_sas_phy,
|
||||
port_phy_el);
|
||||
spin_unlock(&port->phy_list_lock);
|
||||
sas_notify_port_event(sas_phy,
|
||||
PORTE_BROADCAST_RCVD, GFP_KERNEL);
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user