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 <quic_svankudo@quicinc.com>
This commit is contained in:
Sudha Vankudothu 2024-03-19 19:12:09 +05:30 committed by Sravan Kumar Muppidi
parent beffb635dc
commit 816bb07c47

View file

@ -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)