qcacld-3.0: Scan request sent on wrong vdev id

Scan request sent on the invalid vdev id which
triggered assert at firmware.

-Reset sessionid to invalid number in sme open
 session failure scenarios.
-WMA differs vdev delete, if vdev stop
command is pending. Current code process differed
vdev delete only for P2P GO.
-Extend it for other modes so that vdev delete gets
processed later point of time.

Change-Id: I2068e358928fa7157625cf35b3de4ee552299fdb
CRs-Fixed: 1089287
Dieser Commit ist enthalten in:
Sandeep Puligilla
2016-11-14 00:23:43 -08:00
committet von qcabuildsw
Ursprung 0cc24ab40b
Commit e806599392
2 geänderte Dateien mit 2 neuen und 3 gelöschten Zeilen

Datei anzeigen

@@ -2664,6 +2664,7 @@ QDF_STATUS hdd_init_station_mode(hdd_adapter_t *adapter)
if (!rc) {
hdd_alert("Session is not opened within timeout period code %ld",
rc);
adapter->sessionId = HDD_SESSION_ID_INVALID;
status = QDF_STATUS_E_FAILURE;
goto error_sme_open;
}

Datei anzeigen

@@ -1522,9 +1522,7 @@ int wma_vdev_stop_resp_handler(void *handle, uint8_t *cmd_param_info,
0);
}
if ((iface->del_staself_req != NULL) &&
(iface->type == WMI_VDEV_TYPE_AP) &&
(iface->sub_type == WMI_UNIFIED_VDEV_SUBTYPE_P2P_GO)) {
if (iface->del_staself_req != NULL) {
WMA_LOGA("scheduling defered deletion (vdev id %x)",
resp_event->vdev_id);
wma_vdev_detach(wma, iface->del_staself_req, 1);