From 970a6336ee2996715e606fbfd6970802eecd68d0 Mon Sep 17 00:00:00 2001 From: Mohit Khanna Date: Fri, 7 Oct 2016 18:09:32 -0700 Subject: qcacld-3.0: Fix HTT_T2H_MSG_TYPE_WDI_IPA_OP_RESPONSE handler Currently we are queuing the message into rx thread for processing even if the RX thread is not enabled. Solution: Donot queue the message into Rx thread. Call the callback function directly (registered during ol_txrx_ipa_uc_register_op_cb) Change-Id: Iae45c059006592293ea61d04be89b1477daae514 CRs-Fixed: 1075151 --- core/dp/txrx/ol_txrx.c | 24 ------------------------ 1 file changed, 24 deletions(-) diff --git a/core/dp/txrx/ol_txrx.c b/core/dp/txrx/ol_txrx.c index 8f1a565cba35..6562a310d314 100644 --- a/core/dp/txrx/ol_txrx.c +++ b/core/dp/txrx/ol_txrx.c @@ -4144,7 +4144,6 @@ void ol_txrx_ipa_uc_fw_op_event_handler(void *context, } } -#ifdef QCA_CONFIG_SMP /** * ol_txrx_ipa_uc_op_response() - Handle OP command response from firmware * @pdev: handle to the HTT instance @@ -4152,28 +4151,6 @@ void ol_txrx_ipa_uc_fw_op_event_handler(void *context, * * Return: none */ -void ol_txrx_ipa_uc_op_response(ol_txrx_pdev_handle pdev, uint8_t *op_msg) -{ - p_cds_sched_context sched_ctx = get_cds_sched_ctxt(); - struct cds_ol_rx_pkt *pkt; - - if (qdf_unlikely(!sched_ctx)) - return; - - pkt = cds_alloc_ol_rx_pkt(sched_ctx); - if (qdf_unlikely(!pkt)) { - QDF_TRACE(QDF_MODULE_ID_TXRX, QDF_TRACE_LEVEL_ERROR, - "%s: Not able to allocate context", __func__); - return; - } - - pkt->callback = (cds_ol_rx_thread_cb) ol_txrx_ipa_uc_fw_op_event_handler; - pkt->context = pdev; - pkt->Rxpkt = (void *)op_msg; - pkt->staId = 0; - cds_indicate_rxpkt(sched_ctx, pkt); -} -#else void ol_txrx_ipa_uc_op_response(ol_txrx_pdev_handle pdev, uint8_t *op_msg) { @@ -4186,7 +4163,6 @@ void ol_txrx_ipa_uc_op_response(ol_txrx_pdev_handle pdev, return; } } -#endif /** * ol_txrx_ipa_uc_register_op_cb() - Register OP handler function -- cgit v1.2.3