diff --git a/drivers/net/wireless/wcnss/wcnss_wlan.c b/drivers/net/wireless/wcnss/wcnss_wlan.c index d3b41d527ba..c81e7583568 100644 --- a/drivers/net/wireless/wcnss/wcnss_wlan.c +++ b/drivers/net/wireless/wcnss/wcnss_wlan.c @@ -2697,6 +2697,16 @@ void wcnss_flush_work(struct work_struct *work) } EXPORT_SYMBOL(wcnss_flush_work); +/* wlan prop driver cannot invoke show_stack + * function directly, so to invoke this function it + * call wcnss_dump_stack function + */ +void wcnss_dump_stack(struct task_struct *task) +{ + show_stack(task, NULL); +} +EXPORT_SYMBOL(wcnss_dump_stack); + /* wlan prop driver cannot invoke cancel_delayed_work_sync * function directly, so to invoke this function it call * wcnss_flush_delayed_work function diff --git a/include/linux/wcnss_wlan.h b/include/linux/wcnss_wlan.h index cfa92854d95..6218c336e69 100644 --- a/include/linux/wcnss_wlan.h +++ b/include/linux/wcnss_wlan.h @@ -15,6 +15,7 @@ #define _WCNSS_WLAN_H_ #include +#include enum wcnss_opcode { WCNSS_WLAN_SWITCH_OFF = 0, @@ -94,6 +95,7 @@ int wcnss_wlan_iris_xo_mode(void); void wcnss_flush_work(struct work_struct *work); void wcnss_flush_delayed_work(struct delayed_work *dwork); int wcnss_get_iris_name(char *iris_version); +void wcnss_dump_stack(struct task_struct *task); #ifdef CONFIG_WCNSS_REGISTER_DUMP_ON_BITE void wcnss_log_debug_regs_on_bite(void);