As we won't allow any card to be registered when the kernel doesn't
support defer_setup, we don't need to have the listening SCO socket
open in this case.
---
 src/handsfree-audio.c | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/src/handsfree-audio.c b/src/handsfree-audio.c
index 4d2c21f..a1d9714 100644
--- a/src/handsfree-audio.c
+++ b/src/handsfree-audio.c
@@ -214,9 +214,12 @@ static int sco_init(void)
 
        if (setsockopt(sk, SOL_BLUETOOTH, BT_DEFER_SETUP,
                                &defer_setup, sizeof(defer_setup)) < 0) {
+               int err = -errno;
                defer_setup = 0;
                ofono_warn("Can't enable deferred setup: %s (%d)",
                                                strerror(errno), errno);
+               close(sk);
+               return err;
        }
 
        memset(&voice, 0, sizeof(voice));
-- 
1.8.4

_______________________________________________
ofono mailing list
[email protected]
https://lists.ofono.org/mailman/listinfo/ofono

Reply via email to