qcacld-3.0: Reset rand mac addr filter after tx frame cancel
Currently, If supplicant sends tx_mgmt request with random mac_addr then driver adds the random mac_addr and sets this random mac_addr to firmware via WMI_VDEV_ADD_MAC_ADDR_TO_RX_FILTER_CMDID command. Driver waits for tx_ack or tx cancel wait to complete and then remove the cookies and start timer to delete the random mac_addr. In case after receiving tx_ack, driver removes the cookie and starts timer and before timeout supplicant sends the tx_cancel_wait request. But driver can't update the timer duration as the cookie was already deleted as part action frame tx completion. Fix is driver will remove the cookie with below condition: 1. If driver receives the tx_ack and the wait duration = 0 then no need to start the timer, remove the cookie and also remove the random mac_addr from firmware 2. If driver receives the tx_ack and the wait duration != 0 then start the timer 3. If driver receives tx_cancel_wait then stop the timer and remove the randon mac_addr from firmware 4. If timeout happens then remove all the cookies for the random mac_addr and also remove the random mac_addr from firmware Change-Id: I3e227213239e865582e5d8674260d049c437aa9b CRs-Fixed: 3002851
Loading
Please register or sign in to comment