qcacmn: Stop replenish timer during recovery
During recovery, when this timer is started, there is no stop operation. If the timer is triggered and SSR is not completed, it will visit re-inited data structure and lead kernel crash. Change-Id: I44a31d70ee80d59076e4121f6924faa470ce7575 CRs-Fixed: 3102029
This commit is contained in:

committato da
Madan Koyyalamudi

parent
5cc176837d
commit
9e61eb4514
@@ -4257,4 +4257,13 @@ static inline void qdf_set_smmu_fault_state(bool smmu_fault_state)
|
||||
#else
|
||||
#include <i_qdf_nbuf_api_m.h>
|
||||
#endif
|
||||
|
||||
/**
|
||||
* qdf_nbuf_stop_replenish_timer - Stop alloc fail replenish timer
|
||||
*
|
||||
* This function stops the alloc fail replenish timer.
|
||||
*
|
||||
* Return: void
|
||||
*/
|
||||
void qdf_nbuf_stop_replenish_timer(void);
|
||||
#endif /* _QDF_NBUF_H */
|
||||
|
@@ -295,7 +295,7 @@ qdf_export_symbol(qdf_nbuf_set_state);
|
||||
*
|
||||
* Return: void
|
||||
*/
|
||||
static void __qdf_nbuf_start_replenish_timer(void)
|
||||
static inline void __qdf_nbuf_start_replenish_timer(void)
|
||||
{
|
||||
qdf_atomic_inc(&alloc_track_timer.alloc_fail_cnt);
|
||||
if (qdf_mc_timer_get_current_state(&alloc_track_timer.track_timer) !=
|
||||
@@ -311,7 +311,7 @@ static void __qdf_nbuf_start_replenish_timer(void)
|
||||
*
|
||||
* Return: void
|
||||
*/
|
||||
static void __qdf_nbuf_stop_replenish_timer(void)
|
||||
static inline void __qdf_nbuf_stop_replenish_timer(void)
|
||||
{
|
||||
if (qdf_atomic_read(&alloc_track_timer.alloc_fail_cnt) == 0)
|
||||
return;
|
||||
@@ -365,10 +365,18 @@ void __qdf_nbuf_deinit_replenish_timer(void)
|
||||
__qdf_nbuf_stop_replenish_timer();
|
||||
qdf_mc_timer_destroy(&alloc_track_timer.track_timer);
|
||||
}
|
||||
|
||||
void qdf_nbuf_stop_replenish_timer(void)
|
||||
{
|
||||
__qdf_nbuf_stop_replenish_timer();
|
||||
}
|
||||
#else
|
||||
|
||||
static inline void __qdf_nbuf_start_replenish_timer(void) {}
|
||||
static inline void __qdf_nbuf_stop_replenish_timer(void) {}
|
||||
void qdf_nbuf_stop_replenish_timer(void)
|
||||
{
|
||||
}
|
||||
#endif
|
||||
|
||||
/* globals do not need to be initialized to NULL/0 */
|
||||
|
Fai riferimento in un nuovo problema
Block a user