From 3ddff2f3e5e876d606d1180e3c957270fdc98625 Mon Sep 17 00:00:00 2001 From: Mikel Astiz Date: Fri, 19 Oct 2012 10:11:27 +0200 Subject: [PATCH] bluetooth: Set to off instead of failing module load If the profile setup fails during module load, the fallback should be setting the profile to off, exactly as it is done in card_set_profile(). --- src/modules/bluetooth/module-bluetooth-device.c | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/src/modules/bluetooth/module-bluetooth-device.c b/src/modules/bluetooth/module-bluetooth-device.c index 8b14c61..a907e4b 100644 --- a/src/modules/bluetooth/module-bluetooth-device.c +++ b/src/modules/bluetooth/module-bluetooth-device.c @@ -2647,11 +2647,18 @@ int pa__init(pa_module* m) { if (u->profile != PROFILE_OFF) if (init_profile(u) < 0) - goto fail; + goto off; if (u->sink || u->source) if (start_thread(u) < 0) - goto fail; + goto off; + + return 0; + +off: + stop_thread(u); + + pa_assert_se(pa_card_set_profile(u->card, "off", false) >= 0); return 0; -- 2.7.4