From 816bb07c475373203c7d5e7cd0ed5cd20e7519e2 Mon Sep 17 00:00:00 2001 From: Sudha Vankudothu Date: Tue, 19 Mar 2024 19:12:09 +0530 Subject: [PATCH] net: cnss: Add support for cnss ssr When wlan firmware crash happens and recovery enabled, recover wlan (i.e shutdown and powerup) via schedule work. Change-Id: Ia1fd58614ca4568c22fd04dbd1fc83d5ab97c746 Signed-off-by: Sudha Vankudothu --- drivers/net/wireless/cnss/cnss_sdio.c | 25 +------------------------ 1 file changed, 1 insertion(+), 24 deletions(-) diff --git a/drivers/net/wireless/cnss/cnss_sdio.c b/drivers/net/wireless/cnss/cnss_sdio.c index 5de5d6a6daf4..a1866c25550a 100644 --- a/drivers/net/wireless/cnss/cnss_sdio.c +++ b/drivers/net/wireless/cnss/cnss_sdio.c @@ -658,26 +658,6 @@ static int cnss_sdio_powerup(void) return ret; } -static int cnss_sdio_ramdump(void) -{ - struct cnss_ramdump_info *ramdump_info = &cnss_pdata->ramdump_info; - struct qcom_dump_segment segment; - struct list_head head; - - if (!cnss_pdata) - return -ENODEV; - - if (!cnss_pdata->ramdump_info.ramdump_size) - return -ENOENT; - - INIT_LIST_HEAD(&head); - memset(&segment, 0, sizeof(segment)); - segment.va = ramdump_info->ramdump_va; - segment.size = ramdump_info->ramdump_size; - list_add(&segment.node, &head); - return qcom_dump(&head, ramdump_info->ramdump_dev); -} - void cnss_sdio_device_self_recovery(void) { cnss_sdio_shutdown(); @@ -703,10 +683,7 @@ void cnss_sdio_device_crashed(void) return; if (cnss_pdata->rproc->recovery_disabled) panic("subsys-restart: Resetting the SoC wlan crashed\n"); - cnss_sdio_shutdown(); - cnss_sdio_ramdump(); - msleep(WLAN_RECOVERY_DELAY); - cnss_sdio_powerup(); + cnss_sdio_schedule_recovery_work(); } static void cnss_sdio_crash_shutdown(void)