projects
/
platform
/
core
/
connectivity
/
bluetooth-frwk.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Fix the issue that can not send device event
[platform/core/connectivity/bluetooth-frwk.git]
/
bt-oal
/
oal-manager.c
diff --git
a/bt-oal/oal-manager.c
b/bt-oal/oal-manager.c
index
83a4ab5
..
7ae3e67
100644
(file)
--- a/
bt-oal/oal-manager.c
+++ b/
bt-oal/oal-manager.c
@@
-44,6
+44,7
@@
static const hw_module_t* module = NULL;
static const bt_interface_t *blued_api = NULL;
static const hw_module_t* module = NULL;
static const bt_interface_t *blued_api = NULL;
+static bluetooth_device_t* bt_device = NULL;
static gboolean unload_libs(gpointer data);
static bluetooth_device_t* load_hal_lib(void);
static gboolean unload_libs(gpointer data);
static bluetooth_device_t* load_hal_lib(void);
@@
-53,8
+54,6
@@
static int unload(const struct hw_module_t *module);
oal_status_t oal_mgr_init_internal(void)
{
oal_status_t oal_mgr_init_internal(void)
{
- bluetooth_device_t* bt_device;
-
bt_device = load_hal_lib();
if (bt_device == NULL) {
bt_device = load_hal_lib();
if (bt_device == NULL) {
@@
-84,8
+83,12
@@
oal_status_t oal_bt_init(oal_event_callback cb)
void oal_bt_deinit(void)
{
BT_INFO("+");
void oal_bt_deinit(void)
{
BT_INFO("+");
- blued_api->cleanup();
- blued_api = NULL;
+ if (blued_api) {
+ blued_api->cleanup();
+ blued_api = NULL;
+ }
+ _bt_event_dispatcher_deinit();
+ sleep(1);
unload_libs(NULL);
BT_INFO("-");
}
unload_libs(NULL);
BT_INFO("-");
}
@@
-124,6
+127,7
@@
gboolean oal_lib_init(gpointer data)
static gboolean unload_libs(gpointer data)
{
static gboolean unload_libs(gpointer data)
{
+ bt_device->common.close((hw_device_t*)bt_device);
unload((hw_module_t const*)module);
module = NULL;
return FALSE;
unload((hw_module_t const*)module);
module = NULL;
return FALSE;
@@
-133,7
+137,6
@@
static bluetooth_device_t* load_hal_lib(void)
{
int err = 0;
hw_device_t* device;
{
int err = 0;
hw_device_t* device;
- bluetooth_device_t* bt_device = NULL;
BT_DBG("Loading HAL lib");
if (module == NULL) {
BT_DBG("Loading HAL lib");
if (module == NULL) {
@@
-259,3
+262,8
@@
gboolean oal_get_debug_mode(void)
/*TODO Unsupported */
return FALSE;
}
/*TODO Unsupported */
return FALSE;
}
+
+const char *oal_get_stack_name(void)
+{
+ return module ? module->name : NULL;
+}