Prechádzať zdrojové kódy

qcacmn: Fix MLO mgr notify miss on VDEV repurpose completion

MLO manager will change the VDEV MLO flags on start of VDEV repurpose
and need to reset the flags on end of VDEV repurpose. Currently MLO
manager callback is not called after end of VDEV repurpose and flags
are not reset.

Always call MLO manager to reset the flags on VDEV repurpose completion.

Change-Id: Ie2d323888a01e4f19c439619b5ed267e43f0ce0c
CRs-Fixed: 3798911
Vinod Kumar Pirla 1 rok pred
rodič
commit
70ef35de9d

+ 5 - 9
umac/mlo_mgr/src/wlan_mlo_mgr_link_switch.c

@@ -567,30 +567,26 @@ mlo_mgr_link_switch_notification(struct wlan_objmgr_vdev *vdev,
 	case MLO_LINK_SWITCH_NOTIFY_REASON_PRE_START_POST_SER:
 		if (!mlo_check_if_all_vdev_up(vdev)) {
 			mlo_debug("Not all VDEVs up");
-			status = QDF_STATUS_E_AGAIN;
-			break;
+			return QDF_STATUS_E_AGAIN;
 		}
 
 		if (mlo_is_chan_switch_in_progress(vdev)) {
 			mlo_debug("CSA is in progress on one of ML vdevs, abort link switch");
-			status = QDF_STATUS_E_AGAIN;
-			break;
+			return QDF_STATUS_E_AGAIN;
 		}
 
 		if (notify_reason ==
 		    MLO_LINK_SWITCH_NOTIFY_REASON_PRE_START_PRE_SER) {
-			status = QDF_STATUS_SUCCESS;
-			break;
+			return QDF_STATUS_SUCCESS;
 		}
 
-		status = mlo_mgr_link_switch_osif_notification(vdev,
-							       lswitch_req);
 		break;
 	default:
-		status = QDF_STATUS_SUCCESS;
 		break;
 	}
 
+	status = mlo_mgr_link_switch_osif_notification(vdev, lswitch_req);
+
 	return status;
 }