qcacmn: Do not start unmap timer if send cmd to FW fails

Do not start unmap timer if peer delete couldn't be sent to
firmware.

Change-Id: Ie746bde046b76d8e136ebb4fd0b60088bf516d42
CRs-Fixed: 2116223
This commit is contained in:
Naveen Rawat 2017-09-19 10:30:11 -07:00 • committed by snandini
commit 761329bbf2
3 changed files with 12 additions and 5 deletions

View file

@ -157,10 +157,10 @@ static inline void cdp_peer_teardown
}
static inline void
cdp_peer_delete(ol_txrx_soc_handle soc, void *peer)
cdp_peer_delete(ol_txrx_soc_handle soc, void *peer, uint32_t bitmap)
{
if (soc->ops->cmn_drv_ops->txrx_peer_delete)
return soc->ops->cmn_drv_ops->txrx_peer_delete(peer);
return soc->ops->cmn_drv_ops->txrx_peer_delete(peer, bitmap);
return;
}

View file

@ -36,6 +36,12 @@
#include <linux/ipa.h>
#endif
/**
* bitmap values to indicate special handling of peer_delete
*/
#define CDP_PEER_DELETE_NO_SPECIAL 0
#define CDP_PEER_DO_NOT_START_UNMAP_TIMER 1
/******************************************************************************
*
* Control Interface (A Interface)
@ -75,7 +81,7 @@ struct cdp_cmn_ops {
void (*txrx_peer_teardown)
(struct cdp_vdev *vdev_hdl, void *peer_hdl);
void (*txrx_peer_delete)(void *peer);
void (*txrx_peer_delete)(void *peer, uint32_t bitmap);
int (*txrx_set_monitor_mode)(struct cdp_vdev *vdev,
uint8_t smart_monitor);

View file

@ -3217,10 +3217,11 @@ void dp_peer_unref_delete(void *peer_handle)
/*
* dp_peer_detach_wifi3() – Detach txrx peer
* @peer_handle: Datapath peer handle
* @peer_handle: Datapath peer handle
* @bitmap: bitmap indicating special handling of request.
*
*/
static void dp_peer_delete_wifi3(void *peer_handle)
static void dp_peer_delete_wifi3(void *peer_handle, uint32_t bitmap)
{
struct dp_peer *peer = (struct dp_peer *)peer_handle;