qcacld-3.0: release the NDP end all command
Currently, driver post NDP end all command on the scheduler but never release it. This casues timeout in the scheduler and driver releases the vdev which is never referenced. This causes crash in driver. To resolve this issue, release the NDP end all command when NDP Host Update event received from the firmware. Change-Id: Iffe4f79b7c131c48cbf2b085d8bbc6e1fb0b5f0a CRs-Fixed: 3521989
Šī revīzija ir iekļauta:

revīziju iesūtīja
Rahul Choudhary

vecāks
bb7e163983
revīzija
bcb01fb787
@@ -956,7 +956,6 @@ QDF_STATUS
|
||||
ucfg_nan_disable_ndi(struct wlan_objmgr_psoc *psoc, uint32_t ndi_vdev_id)
|
||||
{
|
||||
enum nan_datapath_state curr_ndi_state;
|
||||
struct nan_datapath_host_event *event;
|
||||
struct nan_vdev_priv_obj *ndi_vdev_priv;
|
||||
struct nan_datapath_end_all_ndps req = {0};
|
||||
struct wlan_objmgr_vdev *ndi_vdev;
|
||||
@@ -964,7 +963,7 @@ ucfg_nan_disable_ndi(struct wlan_objmgr_psoc *psoc, uint32_t ndi_vdev_id)
|
||||
QDF_STATUS status;
|
||||
int err;
|
||||
static const struct osif_request_params params = {
|
||||
.priv_size = sizeof(struct nan_datapath_host_event),
|
||||
.priv_size = 0,
|
||||
.timeout_ms = 1000,
|
||||
};
|
||||
|
||||
@@ -1023,18 +1022,11 @@ ucfg_nan_disable_ndi(struct wlan_objmgr_psoc *psoc, uint32_t ndi_vdev_id)
|
||||
goto cleanup;
|
||||
}
|
||||
|
||||
event = osif_request_priv(request);
|
||||
if (!event->ndp_termination_in_progress) {
|
||||
nan_err("Failed to terminate NDP's on NDI");
|
||||
status = QDF_STATUS_E_FAILURE;
|
||||
} else {
|
||||
/*
|
||||
* Host can assume NDP delete is successful and
|
||||
* remove policy mgr entry
|
||||
*/
|
||||
policy_mgr_decr_session_set_pcl(psoc, QDF_NDI_MODE,
|
||||
ndi_vdev_id);
|
||||
}
|
||||
/*
|
||||
* Host can assume NDP delete is successful and
|
||||
* remove policy mgr entry
|
||||
*/
|
||||
policy_mgr_decr_session_set_pcl(psoc, QDF_NDI_MODE, ndi_vdev_id);
|
||||
|
||||
cleanup:
|
||||
/* Restore original NDI state in case of failure */
|
||||
|
Atsaukties uz šo jaunā problēmā
Block a user