qcacmn: Enhancements for link switch disconnect
Introduce following for link switch disconnect: 1) Disconnect source. 2) Disconnect reason. 3) Link switch BIT in CM_ID to identify link switch request Don't notify link switch disconnect to initiate disconnect on other connect VDEV of MLO mgr. Don't notify userspace if the disconnect request is due to link switch. Don't notify netdev to stop queues on link switch disconnect. Don't flush any pending disconnect/connect request on complete of link switch disconnect request. Don't attempt to serialize/deserialize disconnect command if it is a link switch command ID due to either disconnect request, disconnect complete or disconnect request flush. Before start of link switch set the VDEV flag as MLO link VDEV to leverage the disconnect/connect checks for link VDEV and restore the flag at the end of link switch. This will impact when link switch on assoc VDEV is received for which initially the flag is not set. Check status of link switch disconnect done API to either proceed further in link switch or terminate the link switch. If any userspace disconnect and link switch disconnect race condition, always abort link switch disconnect and notify failure to FW. Change-Id: I6ec2a850d49f5ec6df2ec868c290f19203cd8c88 CRs-Fixed: 3556481
Este cometimento está contido em:

cometido por
Rahul Choudhary

ascendente
cbf4cdb23c
cometimento
b41d140574
@@ -523,13 +523,14 @@ QDF_STATUS mlme_cm_osif_disconnect_complete(struct wlan_objmgr_vdev *vdev,
|
||||
return ret;
|
||||
}
|
||||
|
||||
QDF_STATUS mlme_cm_osif_disconnect_start_ind(struct wlan_objmgr_vdev *vdev)
|
||||
QDF_STATUS mlme_cm_osif_disconnect_start_ind(struct wlan_objmgr_vdev *vdev,
|
||||
enum wlan_cm_source source)
|
||||
{
|
||||
QDF_STATUS ret = QDF_STATUS_SUCCESS;
|
||||
|
||||
if (glbl_cm_ops &&
|
||||
glbl_cm_ops->mlme_cm_disconnect_start_cb)
|
||||
ret = glbl_cm_ops->mlme_cm_disconnect_start_cb(vdev);
|
||||
ret = glbl_cm_ops->mlme_cm_disconnect_start_cb(vdev, source);
|
||||
|
||||
return ret;
|
||||
}
|
||||
|
Criar uma nova questão referindo esta
Bloquear um utilizador