/* Riva crash handler */
static void riva_crash_shutdown(const struct subsys_data *subsys)
{
	pr_err("%s: crash shutdown : %d\n", MODULE_NAME, riva_crash);

    //ASUS_BSP+++ "for /data/log/ASUSEvtlog"
    ASUSEvtlog("[wcnss]: riva_crash_shutdown (%d).\n", riva_crash);
    //ASUS_BSP--- "for /data/log/ASUSEvtlog"

//ASUS_BSP+++ "Qualcomm  (1-Wait_for_WCNSS_to_finish_its_error_fatal_routines_during_SSR.patch)"
//ASUS_BSP+++ "Qualcomm  (2-wcnss_fix_panic_leading_to_WD_bark.patch)"
#if 0
	if (riva_crash != true)
		smsm_riva_reset();
#else
    if (riva_crash != true) {
        smsm_riva_reset();
        /* give sufficient time for wcnss to finish it's error
         * fatal routine */
        pr_err("wcnss_8960: mdelay(3000), give sufficient time for wcnss.\n");
        mdelay(3000);
    }
#endif
//ASUS_BSP--- "Qualcomm  (2-wcnss_fix_panic_leading_to_WD_bark.patch)"
//ASUS_BSP--- "Qualcomm  (1-Wait_for_WCNSS_to_finish_its_error_fatal_routines_during_SSR.patch)"
}
Пример #2
0
/* Riva crash handler */
static void riva_crash_shutdown(const struct subsys_desc *subsys)
{
	pr_err("%s: crash shutdown : %d\n", MODULE_NAME, riva_crash);
	if (riva_crash != true) {
		smsm_riva_reset();
		/* give sufficient time for wcnss to finish it's error
		 * fatal routine */
		mdelay(3000);
	}

}
Пример #3
0
/* Riva crash handler */
static void riva_crash_shutdown(const struct subsys_data *subsys)
{
	pr_err("%s: crash shutdown : %d\n", MODULE_NAME, riva_crash);
	if (riva_crash != true)
		smsm_riva_reset();
}