qcacmn: Update htc_endpoint only for htt tx endpoint
Update htc_endpoint only for htt tx endpoint to avoid double freeing of Tx Queue packets as it will be freed in htt_htc_misc_pkt_pool_free. Rename htc_endpoint to htc_htt_tx_endpoint to reflect it's appropriate use. Change-Id: I736ba08505acc829eb15be30538553dd945695f6 CRs-Fixed: 1006498
This commit is contained in:

committed by
Gerrit - the friendly Code Review server

parent
c5dc5f291c
commit
d7f9159cf2
@@ -430,7 +430,7 @@ void hif_get_hw_info(struct hif_opaque_softc *scn, u32 *version, u32 *revision,
|
|||||||
void hif_disable_isr(struct hif_opaque_softc *scn);
|
void hif_disable_isr(struct hif_opaque_softc *scn);
|
||||||
void hif_reset_soc(struct hif_opaque_softc *scn);
|
void hif_reset_soc(struct hif_opaque_softc *scn);
|
||||||
void hif_save_htc_htt_config_endpoint(struct hif_opaque_softc *hif_ctx,
|
void hif_save_htc_htt_config_endpoint(struct hif_opaque_softc *hif_ctx,
|
||||||
int htc_endpoint);
|
int htc_htt_tx_endpoint);
|
||||||
struct hif_opaque_softc *hif_open(qdf_device_t qdf_ctx, uint32_t mode,
|
struct hif_opaque_softc *hif_open(qdf_device_t qdf_ctx, uint32_t mode,
|
||||||
enum qdf_bus_type bus_type,
|
enum qdf_bus_type bus_type,
|
||||||
struct hif_driver_state_callbacks *cbk);
|
struct hif_driver_state_callbacks *cbk);
|
||||||
|
@@ -1588,9 +1588,9 @@ void hif_send_buffer_cleanup_on_pipe(struct HIF_CE_pipe_info *pipe_info)
|
|||||||
* by checking whether it's the endpoint
|
* by checking whether it's the endpoint
|
||||||
* which they are queued in.
|
* which they are queued in.
|
||||||
*/
|
*/
|
||||||
if (id == scn->htc_endpoint)
|
if (id == scn->htc_htt_tx_endpoint)
|
||||||
return;
|
return;
|
||||||
/* Indicate the completion to higer
|
/* Indicate the completion to higher
|
||||||
* layer to free the buffer */
|
* layer to free the buffer */
|
||||||
hif_state->msg_callbacks_current.
|
hif_state->msg_callbacks_current.
|
||||||
txCompletionHandler(hif_state->
|
txCompletionHandler(hif_state->
|
||||||
|
@@ -333,14 +333,14 @@ qdf_size_t init_buffer_count(qdf_size_t maxSize)
|
|||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* hif_save_htc_htt_config_endpoint():
|
* hif_save_htc_htt_config_endpoint() - save htt_tx_endpoint
|
||||||
* hif_save_htc_htt_config_endpoint
|
* @hif_ctx: hif context
|
||||||
* @htc_endpoint: htc_endpoint
|
* @htc_htt_tx_endpoint: htt_tx_endpoint
|
||||||
*
|
*
|
||||||
* Return: void
|
* Return: void
|
||||||
*/
|
*/
|
||||||
void hif_save_htc_htt_config_endpoint(struct hif_opaque_softc *hif_ctx,
|
void hif_save_htc_htt_config_endpoint(struct hif_opaque_softc *hif_ctx,
|
||||||
int htc_endpoint)
|
int htc_htt_tx_endpoint)
|
||||||
{
|
{
|
||||||
struct hif_softc *scn = HIF_GET_SOFTC(hif_ctx);
|
struct hif_softc *scn = HIF_GET_SOFTC(hif_ctx);
|
||||||
|
|
||||||
@@ -350,7 +350,7 @@ void hif_save_htc_htt_config_endpoint(struct hif_opaque_softc *hif_ctx,
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
scn->htc_endpoint = htc_endpoint;
|
scn->htc_htt_tx_endpoint = htc_htt_tx_endpoint;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@@ -140,7 +140,7 @@ struct hif_softc {
|
|||||||
int linkstate_vote;
|
int linkstate_vote;
|
||||||
bool fastpath_mode_on;
|
bool fastpath_mode_on;
|
||||||
atomic_t tasklet_from_intr;
|
atomic_t tasklet_from_intr;
|
||||||
int htc_endpoint;
|
int htc_htt_tx_endpoint;
|
||||||
qdf_dma_addr_t mem_pa;
|
qdf_dma_addr_t mem_pa;
|
||||||
bool athdiag_procfs_inited;
|
bool athdiag_procfs_inited;
|
||||||
#ifdef FEATURE_NAPI
|
#ifdef FEATURE_NAPI
|
||||||
|
@@ -332,10 +332,6 @@ A_STATUS htc_connect_service(HTC_HANDLE HTCHandle,
|
|||||||
|
|
||||||
} while (false);
|
} while (false);
|
||||||
|
|
||||||
if (HTT_SERVICE_GROUP == (pConnectReq->service_id >> 8))
|
|
||||||
hif_save_htc_htt_config_endpoint(target->hif_dev,
|
|
||||||
assignedEndpoint);
|
|
||||||
|
|
||||||
AR_DEBUG_PRINTF(ATH_DEBUG_TRC, ("-htc_connect_service\n"));
|
AR_DEBUG_PRINTF(ATH_DEBUG_TRC, ("-htc_connect_service\n"));
|
||||||
|
|
||||||
return status;
|
return status;
|
||||||
|
Reference in New Issue
Block a user