diff --git a/core/dp/txrx/ol_tx_hl.c b/core/dp/txrx/ol_tx_hl.c index b1483c0bdf29..2b266a870a43 100644 --- a/core/dp/txrx/ol_tx_hl.c +++ b/core/dp/txrx/ol_tx_hl.c @@ -802,17 +802,16 @@ bool is_vdev_restore_last_peer(void *ppeer) * * Return: None */ -void ol_txrx_update_last_real_peer(struct cdp_pdev *ppdev, void *ppeer, +void ol_txrx_update_last_real_peer(struct cdp_pdev *ppdev, void *pvdev, uint8_t *peer_id, bool restore_last_peer) { struct ol_txrx_pdev_t *pdev = (struct ol_txrx_pdev_t *)ppdev; - struct ol_txrx_peer_t *peer = ppeer; - struct ol_txrx_vdev_t *vdev; + struct ol_txrx_vdev_t *vdev = (struct ol_txrx_vdev_t *)pvdev; + struct ol_txrx_peer_t *peer; if (!restore_last_peer) return; - vdev = peer->vdev; peer = ol_txrx_find_peer_by_addr((struct cdp_pdev *)pdev, vdev->hl_tdls_ap_mac_addr.raw, peer_id); diff --git a/core/dp/txrx/ol_txrx.h b/core/dp/txrx/ol_txrx.h index a52086544838..2b647e835765 100644 --- a/core/dp/txrx/ol_txrx.h +++ b/core/dp/txrx/ol_txrx.h @@ -233,7 +233,7 @@ void ol_txrx_copy_mac_addr_raw(struct cdp_vdev *pvdev, uint8_t *bss_addr); void ol_txrx_add_last_real_peer(struct cdp_pdev *ppdev, struct cdp_vdev *pvdev, uint8_t *peer_id); bool is_vdev_restore_last_peer(void *ppeer); -void ol_txrx_update_last_real_peer(struct cdp_pdev *ppdev, void *ppeer, +void ol_txrx_update_last_real_peer(struct cdp_pdev *ppdev, void *pvdev, uint8_t *peer_id, bool restore_last_peer); #endif diff --git a/core/wma/src/wma_features.c b/core/wma/src/wma_features.c index 220d0c5930fc..f284e8c57842 100644 --- a/core/wma/src/wma_features.c +++ b/core/wma/src/wma_features.c @@ -4000,7 +4000,7 @@ int wma_update_tdls_peer_state(WMA_HANDLE handle, uint32_t i; struct cdp_pdev *pdev; uint8_t peer_id; - void *peer; + void *peer, *vdev; void *soc = cds_get_context(QDF_MODULE_ID_SOC); struct tdls_peer_params *peer_cap; uint8_t *peer_mac_addr; @@ -4069,6 +4069,7 @@ int wma_update_tdls_peer_state(WMA_HANDLE handle, ret = -EIO; goto end_tdls_peer_state; } + vdev = cdp_peer_get_vdev(soc, peer); if (wmi_unified_update_tdls_peer_state_cmd(wma_handle->wmi_handle, peer_state, @@ -4103,7 +4104,7 @@ int wma_update_tdls_peer_state(WMA_HANDLE handle, goto end_tdls_peer_state; } cdp_peer_update_last_real_peer(soc, - pdev, peer, &peer_id, + pdev, vdev, &peer_id, restore_last_peer); }