mirror of
https://github.com/AuxXxilium/linux_dsm_epyc7002.git
synced 2024-12-15 21:56:40 +07:00
scsi: target: tcmu: wait for nl reply only if there are listeners or during an add
genlmsg_multicast_allns now returns the correct statuses when a message is sent to a listener. However in the case of adding a device we want to wait for the listener otherwise we may miss the the device during startup. Signed-off-by: Cathy Avery <cavery@redhat.com> Acked-by: Mike Christie <mchristi@redhat.com> Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
This commit is contained in:
parent
3722e6a521
commit
2ff717cdc6
@ -1764,11 +1764,12 @@ static int tcmu_netlink_event_send(struct tcmu_dev *udev,
|
||||
|
||||
ret = genlmsg_multicast_allns(&tcmu_genl_family, skb, 0,
|
||||
TCMU_MCGRP_CONFIG, GFP_KERNEL);
|
||||
/* We don't care if no one is listening */
|
||||
if (ret == -ESRCH)
|
||||
ret = 0;
|
||||
if (!ret)
|
||||
ret = tcmu_wait_genl_cmd_reply(udev);
|
||||
|
||||
/* Wait during an add as the listener may not be up yet */
|
||||
if (ret == 0 ||
|
||||
(ret == -ESRCH && cmd == TCMU_CMD_ADDED_DEVICE))
|
||||
return tcmu_wait_genl_cmd_reply(udev);
|
||||
|
||||
return ret;
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user