qcacmn: Add fix to support proxy arp function call
a call to osif_proxy_arp need to be invoked inside UMAC_SUPPORT_PROXY_ARP as it was protected under build macro UMAC_SUPPORT_PROXY_ARP. Change-Id: I6e165a328ac65fb659cb9fbc3a0ce39fcbb6744b
This commit is contained in:
@@ -3268,6 +3268,47 @@ qdf_nbuf_t dp_tx_send_vdev_id_check(struct cdp_soc_t *soc_hdl,
|
|||||||
return dp_tx_send(soc_hdl, vdev_id, nbuf);
|
return dp_tx_send(soc_hdl, vdev_id, nbuf);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#ifdef UMAC_SUPPORT_PROXY_ARP
|
||||||
|
/**
|
||||||
|
* dp_tx_proxy_arp() - Tx proxy arp handler
|
||||||
|
* @vdev: datapath vdev handle
|
||||||
|
* @buf: sk buffer
|
||||||
|
*
|
||||||
|
* Return: status
|
||||||
|
*/
|
||||||
|
static inline
|
||||||
|
int dp_tx_proxy_arp(struct dp_vdev *vdev, qdf_nbuf_t nbuf)
|
||||||
|
{
|
||||||
|
if (vdev->osif_proxy_arp)
|
||||||
|
return vdev->osif_proxy_arp(vdev->osif_vdev, nbuf);
|
||||||
|
|
||||||
|
/*
|
||||||
|
* when UMAC_SUPPORT_PROXY_ARP is defined, we expect
|
||||||
|
* osif_proxy_arp has a valid function pointer assigned
|
||||||
|
* to it
|
||||||
|
*/
|
||||||
|
dp_tx_err("valid function pointer for osif_proxy_arp is expected!!\n");
|
||||||
|
|
||||||
|
return QDF_STATUS_NOT_INITIALIZED;
|
||||||
|
}
|
||||||
|
#else
|
||||||
|
/**
|
||||||
|
* dp_tx_proxy_arp() - Tx proxy arp handler
|
||||||
|
* @vdev: datapath vdev handle
|
||||||
|
* @buf: sk buffer
|
||||||
|
*
|
||||||
|
* This function always return 0 when UMAC_SUPPORT_PROXY_ARP
|
||||||
|
* is not defined.
|
||||||
|
*
|
||||||
|
* Return: status
|
||||||
|
*/
|
||||||
|
static inline
|
||||||
|
int dp_tx_proxy_arp(struct dp_vdev *vdev, qdf_nbuf_t nbuf)
|
||||||
|
{
|
||||||
|
return QDF_STATUS_SUCCESS;
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* dp_tx_reinject_handler() - Tx Reinject Handler
|
* dp_tx_reinject_handler() - Tx Reinject Handler
|
||||||
* @soc: datapath soc handle
|
* @soc: datapath soc handle
|
||||||
@@ -3355,8 +3396,8 @@ void dp_tx_reinject_handler(struct dp_soc *soc,
|
|||||||
((is_mcast && peer->wds_ecm.wds_tx_mcast_4addr) ||
|
((is_mcast && peer->wds_ecm.wds_tx_mcast_4addr) ||
|
||||||
(is_ucast && peer->wds_ecm.wds_tx_ucast_4addr))))) {
|
(is_ucast && peer->wds_ecm.wds_tx_ucast_4addr))))) {
|
||||||
#else
|
#else
|
||||||
((peer->bss_peer && vdev->osif_proxy_arp &&
|
(peer->bss_peer &&
|
||||||
!(vdev->osif_proxy_arp(vdev->osif_vdev, nbuf))))) {
|
(dp_tx_proxy_arp(vdev, nbuf) == QDF_STATUS_SUCCESS))) {
|
||||||
#endif
|
#endif
|
||||||
peer_id = DP_INVALID_PEER;
|
peer_id = DP_INVALID_PEER;
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user