From 1dce160f027763253c316f5bcd3cc7b686d988d2 Mon Sep 17 00:00:00 2001
From: Alan Cox <alan@linux.intel.com>
Date: Wed, 11 May 2011 14:38:26 +0100
Subject: [PATCH] sst: tweak the shared functions so we don't crash the ASoC
 driver

The ASoC driver is currently pulling bits from staging rather than its own
copy. Post all the merges and fixes we've put back an assumption that
crashes ASoC so we need to fix it differently.

(See 0ed625b2f2751c249417bd28694e37ef48eb5fbb)

Signed-off-by: Alan Cox <alan@linux.intel.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
---
 drivers/staging/intel_sst/intel_sst_drv_interface.c | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/drivers/staging/intel_sst/intel_sst_drv_interface.c b/drivers/staging/intel_sst/intel_sst_drv_interface.c
index bb64f2a767f8..308d1c3ec40a 100644
--- a/drivers/staging/intel_sst/intel_sst_drv_interface.c
+++ b/drivers/staging/intel_sst/intel_sst_drv_interface.c
@@ -527,7 +527,9 @@ int register_sst_card(struct intel_sst_card_ops *card)
 		pr_err("Repeat for registration..denied\n");
 		return -EBADRQC;
 	}
-	sst_drv_ctx->scard_ops->card_status = SND_CARD_UN_INIT;
+	/* The ASoC code doesn't set scard_ops */
+	if (sst_drv_ctx->scard_ops)
+		sst_drv_ctx->scard_ops->card_status = SND_CARD_UN_INIT;
 	return 0;
 }
 EXPORT_SYMBOL_GPL(register_sst_card);
-- 
2.30.9