diff --git a/sound/soc/codecs/wcd_cpe_core.c b/sound/soc/codecs/wcd_cpe_core.c
index 87ebf5724a6e75e394afbb61665fc4f8a20a30df..73a680bb5b2362b597e9d23e0b4ca4e34d2282cc 100644
--- a/sound/soc/codecs/wcd_cpe_core.c
+++ b/sound/soc/codecs/wcd_cpe_core.c
@@ -715,6 +715,12 @@ int wcd_cpe_ssr_event(void *core_handle,
 {
 	struct wcd_cpe_core *core = core_handle;
 
+	if (!core) {
+		pr_err("%s: Invalid handle to core\n",
+			__func__);
+		return -EINVAL;
+	}
+
 	dev_dbg(core->dev,
 		"%s: Schedule ssr work, event = %d\n",
 		__func__, core->ssr_type);