qcacld-3.0: Check for SSR before sending messages to upper layers

FW is asserted, dont service the messages.  The hif completion
thread used to prevent processing of messages when firmware crashed.

Change-Id: I42a5a285056e989d302e766f2922bb7c114634dc
CRs-Fixed: 941358
This commit is contained in:
Houston Hoffman
2015-09-28 18:36:36 -07:00
committed by Satish Singh
parent 7523d226a3
commit eab684b511
2 changed files with 9 additions and 2 deletions

View File

@@ -685,6 +685,9 @@ hif_pci_ce_send_done(struct CE_handle *copyeng, void *ce_context,
* when last fragment is complteted.
*/
if (transfer_context != CE_SENDLIST_ITEM_CTXT) {
if (hif_state->scn->target_status
== OL_TRGET_STATUS_RESET)
return;
msg_callbacks->txCompletionHandler(
msg_callbacks->Context,
@@ -751,8 +754,11 @@ hif_pci_ce_recv_data(struct CE_handle *copyeng, void *ce_context,
atomic_inc(&pipe_info->recv_bufs_needed);
hif_post_recv_buffers_for_pipe(pipe_info);
hif_ce_do_recv(msg_callbacks, transfer_context, nbytes,
pipe_info);
if (hif_state->scn->target_status == OL_TRGET_STATUS_RESET)
return;
hif_ce_do_recv(msg_callbacks, transfer_context,
nbytes, pipe_info);
/* Set up force_break flag if num of receices reaches
* MAX_NUM_OF_RECEIVES */

View File

@@ -27,6 +27,7 @@
#ifndef __CE_TASKLET_H__
#define __CE_TASKLET_H__
#include "ce_main.h"
void init_tasklet_workers(void);
void ce_tasklet_init(struct HIF_CE_state *hif_ce_state, uint32_t mask);
void ce_tasklet_kill(struct HIF_CE_state *hif_ce_state);