diff --git a/core/pld/src/pld_common.c b/core/pld/src/pld_common.c index 1ab13b87d550..d33d5a5b2012 100644 --- a/core/pld/src/pld_common.c +++ b/core/pld/src/pld_common.c @@ -669,6 +669,7 @@ void pld_device_self_recovery(struct device *dev, case PLD_BUS_TYPE_SNOC: break; case PLD_BUS_TYPE_SDIO: + pld_sdio_device_self_recovery(dev); break; default: pr_err("Invalid device type\n"); diff --git a/core/pld/src/pld_sdio.h b/core/pld/src/pld_sdio.h index 8814755e818e..2468a6d77cd7 100644 --- a/core/pld/src/pld_sdio.h +++ b/core/pld/src/pld_sdio.h @@ -19,6 +19,9 @@ #ifndef __PLD_SDIO_H__ #define __PLD_SDIO_H__ +#ifdef CONFIG_PLD_SDIO_CNSS +#include +#endif #include "pld_common.h" #ifdef MULTI_IF_NAME @@ -113,6 +116,11 @@ static inline bool pld_sdio_is_fw_dump_skipped(void) { return cnss_get_restart_level() == CNSS_RESET_SUBSYS_COUPLED; } + +static inline void pld_sdio_device_self_recovery(struct device *dev) +{ + cnss_common_device_self_recovery(dev); +} #else static inline void *pld_sdio_get_virt_ramdump_mem(struct device *dev, unsigned long *size) @@ -128,6 +136,9 @@ static inline bool pld_sdio_is_fw_dump_skipped(void) return false; } +static inline void pld_sdio_device_self_recovery(struct device *dev) +{ +} #endif #ifdef CONFIG_PLD_SDIO_CNSS