Rome supports mgmt Tx via HTT interface, not via WMI. When mgmt frame is sent, 2 tx desc is allocated: mgmt_txrx_desc is allocated in wlan_mgmt_txrx_mgmt_frame_tx, ol_tx_desc is allocated in ol_txrx_mgmt_send_ext. They point to same net buffer. net buffer is mapped in htt_tx_desc_init. When SSR during Rome STA connected, deauth frame is sent, but no tx complete since firmware hung already. Pending mgmt frames are unmapped and freed when destroy vdev. hdd_reset_all_adapters->hdd_stop_adapter->hdd_vdev_destroy ->wma_handle_vdev_detach->wlan_mgmt_txrx_vdev_drain ->wma_mgmt_frame_fill_peer_cb ->mgmt_txrx_tx_completion_handler. Don't need unmap and free net buffer of mgmt frames again during data path clean up, just free ol_tx_desc. hdd_wlan_stop_modules->cds_post_disable->cdp_pdev_pre_detach ->ol_txrx_pdev_pre_detach->ol_tx_free_descs_inuse. Change-Id: I2fc658e833cf013bf7048c6bec90d9b247566444 CRs-Fixed: 2694854 |
||
---|---|---|
.. | ||
htt | ||
ol/inc | ||
txrx | ||
txrx3.0 |