summaryrefslogtreecommitdiff
path: root/drivers/slimbus
diff options
context:
space:
mode:
authorLinux Build Service Account <lnxbuild@localhost>2016-09-13 05:43:48 -0700
committerGerrit - the friendly Code Review server <code-review@localhost>2016-09-13 05:43:48 -0700
commit732c56a77cbbfd76c75679ae2e69c3e6afa36026 (patch)
tree28b5a56356c0fd06b13138b84b729b7914e99500 /drivers/slimbus
parentd3747e3e27c8663bd612deb15b18a795c54ebaa6 (diff)
parente92e3b21942bd3e1acec640380c0a5ad5d9d21de (diff)
Merge "slim: msm: Avoid registration with notifier if service is not located"
Diffstat (limited to 'drivers/slimbus')
-rw-r--r--drivers/slimbus/slim-msm-ngd.c10
1 files changed, 10 insertions, 0 deletions
diff --git a/drivers/slimbus/slim-msm-ngd.c b/drivers/slimbus/slim-msm-ngd.c
index 096a438f4e45..9af9ce323bc3 100644
--- a/drivers/slimbus/slim-msm-ngd.c
+++ b/drivers/slimbus/slim-msm-ngd.c
@@ -228,6 +228,16 @@ static int dsp_domr_notify_cb(struct notifier_block *n, unsigned long code,
break;
case LOCATOR_UP:
reg = _cmd;
+ if (!reg || reg->total_domains != 1) {
+ SLIM_WARN(dev, "error locating audio-PD\n");
+ if (reg)
+ SLIM_WARN(dev, "audio-PDs matched:%d\n",
+ reg->total_domains);
+
+ /* Fall back to SSR */
+ ngd_reg_ssr(dev);
+ return NOTIFY_DONE;
+ }
dev->dsp.domr = service_notif_register_notifier(
reg->domain_list->name,
reg->domain_list->instance_id,