qcacld-3.0: Send user space about FW CRASHED indication

In function ol_target_failure(), if enable_self_recovery is true,
fw_indication_work_handler() will be called. Ramdump collection
will not be executed. But for no CNSS module platform, recovery flag
is neither cleaned, no any FW indication is sent to user space.
Even enable_self_recovery is false, no FW crashed indication sent
to user space.

So, call function ol_check_clean_recovery_flag() to clean recovery
flag, and send FW CRASHED indication to user space by function
ol_target_failure().

Change-Id: I44396caf4972dc267d60757c479e4681f8885de5
CRs-Fixed: 2482596
This commit is contained in:
Yu Ouyang
2019-07-02 14:12:15 +08:00
committed by nshrivas
parent a57b032a76
commit 486fac8fed
4 changed files with 58 additions and 11 deletions

View File

@@ -1,5 +1,5 @@
/*
* Copyright (c) 2013-2018 The Linux Foundation. All rights reserved.
* Copyright (c) 2013-2019 The Linux Foundation. All rights reserved.
*
* Permission to use, copy, modify, and/or distribute this software for
* any purpose with or without fee is hereby granted, provided that the
@@ -54,6 +54,15 @@ QDF_STATUS ol_cds_init(qdf_device_t qdf_dev, void *hif_ctx);
void ol_cds_free(void);
void ol_init_ini_config(struct ol_context *ol_ctx,
struct ol_config_info *cfg);
/**
* ol_set_fw_crashed_cb() - set firmware crashed callback
* @ol_ctx: ol context
* @callback_fn: fw crashed callback function
*
* Return: None
*/
void ol_set_fw_crashed_cb(struct ol_context *ol_ctx,
void (*callback_fn)(void));
void bmi_cleanup(struct ol_context *scn);
QDF_STATUS bmi_done(struct ol_context *ol_ctx);
void bmi_target_ready(struct hif_opaque_softc *scn, void *cfg_ctx);
@@ -76,6 +85,11 @@ ol_init_ini_config(struct ol_context *ol_ctx, struct ol_config_info *cfg)
{
}
static inline void
ol_set_fw_crashed_cb(struct ol_context *ol_ctx, void (*callback_fn)(void))
{
}
static inline void bmi_cleanup(struct ol_context *scn)
{
}