qcacld-3.0: Add transition timeout detection to DSC

In order to catch and debug long running transitions, add a watchdog
timer to Driver Synchronization Core (DSC) transition start/stop call
pairs. If the timer expires, panic the driver for offline debugging.

Change-Id: I9b64fdb9cc20e1225394702d58b24db92a2d67e1
CRs-Fixed: 2328596
This commit is contained in:
Dustin Brown
2018-10-05 10:45:41 -07:00
committed by nshrivas
parent 045f3025eb
commit 4f74e9522b
6 changed files with 110 additions and 26 deletions

View File

@@ -24,14 +24,16 @@
#include "wlan_dsc.h"
#include "wlan_dsc_test.h"
#define dsc_driver_trans_start(driver) dsc_driver_trans_start(driver, "")
#define dsc_psoc_trans_start(psoc) dsc_psoc_trans_start(psoc, "")
#define dsc_vdev_trans_start(vdev) dsc_vdev_trans_start(vdev, "")
#define dsc_driver_trans_start(driver) dsc_driver_trans_start(driver, __func__)
#define dsc_psoc_trans_start(psoc) dsc_psoc_trans_start(psoc, __func__)
#define dsc_vdev_trans_start(vdev) dsc_vdev_trans_start(vdev, __func__)
#define dsc_driver_trans_start_wait(driver) \
dsc_driver_trans_start_wait(driver, "")
#define dsc_psoc_trans_start_wait(psoc) dsc_psoc_trans_start_wait(psoc, "")
#define dsc_vdev_trans_start_wait(vdev) dsc_vdev_trans_start_wait(vdev, "")
#define dsc_psoc_trans_start_wait(psoc) \
dsc_psoc_trans_start_wait(psoc, __func__)
#define dsc_vdev_trans_start_wait(vdev) \
dsc_vdev_trans_start_wait(vdev, __func__)
static struct dsc_psoc *nth_psoc(struct dsc_driver *driver, int n)
{