diff --git a/core/hdd/src/wlan_hdd_tdls.c b/core/hdd/src/wlan_hdd_tdls.c index 696c152bcb..3488891b34 100644 --- a/core/hdd/src/wlan_hdd_tdls.c +++ b/core/hdd/src/wlan_hdd_tdls.c @@ -2478,12 +2478,26 @@ int wlan_hdd_tdls_get_all_peers(hdd_adapter_t *pAdapter, char *buf, int buflen) hddTdlsPeer_t *curr_peer; tdlsCtx_t *pHddTdlsCtx; hdd_context_t *pHddCtx = WLAN_HDD_GET_CTX(pAdapter); + hdd_station_ctx_t *hdd_sta_ctx; ENTER(); if (0 != (wlan_hdd_validate_context(pHddCtx))) return 0; + if ((QDF_STA_MODE != pAdapter->device_mode) + && (QDF_P2P_CLIENT_MODE != pAdapter->device_mode)) { + len = scnprintf(buf, buflen, + "\nNo TDLS support for this adapter\n"); + return len; + } + + hdd_sta_ctx = WLAN_HDD_GET_STATION_CTX_PTR(pAdapter); + if (eConnectionState_Associated != hdd_sta_ctx->conn_info.connState) { + len = scnprintf(buf, buflen, "\nSTA is not associated\n"); + return len; + } + init_len = buflen; len = scnprintf(buf, buflen, "\n%-18s%-3s%-4s%-3s%-5s\n", "MAC", "Id", "cap", "up", "RSSI");