OSDN Git Service

Fix bug which prevent headset driver to load a second time.
authorLuiz Augusto von Dentz <luiz.dentz@openbossa.org>
Tue, 28 Apr 2009 16:53:48 +0000 (13:53 -0300)
committerLuiz Augusto von Dentz <luiz.dentz@openbossa.org>
Tue, 28 Apr 2009 17:01:50 +0000 (14:01 -0300)
headset driver was not closing its socket properly when an adapter is removed
which makes kernel to assume the address is already in use.

audio/manager.c

index de05ebd..85add42 100644 (file)
@@ -820,6 +820,7 @@ static void headset_server_remove(struct btd_adapter *adapter)
        }
 
        if (adp->hsp_ag_server) {
+               g_io_channel_shutdown(adp->hsp_ag_server, TRUE, NULL);
                g_io_channel_unref(adp->hsp_ag_server);
                adp->hsp_ag_server = NULL;
        }
@@ -830,6 +831,7 @@ static void headset_server_remove(struct btd_adapter *adapter)
        }
 
        if (adp->hfp_ag_server) {
+               g_io_channel_shutdown(adp->hfp_ag_server, TRUE, NULL);
                g_io_channel_unref(adp->hfp_ag_server);
                adp->hfp_ag_server = NULL;
        }