OSDN Git Service

Save the HID info into storage while adding device
authorPriti Aghera <paghera@broadcom.com>
Fri, 29 Mar 2013 00:27:12 +0000 (17:27 -0700)
committerMatthew Xie <mattx@google.com>
Fri, 5 Apr 2013 21:21:04 +0000 (14:21 -0700)
Previously HID device info was not saved immediately to NVRAM, thus
when device was rebooted sometimes the hid information was missing
from NVRAM, thus host does not identify the HID Device
bug 8192743
Change-Id: I7ca8b607399e141fa851242e83c1c6d3854384f8

btif/src/btif_storage.c

index 0553874..8639f7b 100644 (file)
@@ -1354,6 +1354,7 @@ bt_status_t btif_storage_add_hid_device_info(bt_bdaddr_t *remote_bd_addr,
                                                     UINT8 ctry_code, UINT16 dl_len, UINT8 *dsc_list)
 {
     bdstr_t bdstr;
+    BTIF_TRACE_DEBUG0("btif_storage_add_hid_device_info:");
     bd2str(remote_bd_addr, &bdstr);
     btif_config_set_int("Remote", bdstr, "HidAttrMask", attr_mask);
     btif_config_set_int("Remote", bdstr, "HidSubClass", sub_class);
@@ -1363,7 +1364,9 @@ bt_status_t btif_storage_add_hid_device_info(bt_bdaddr_t *remote_bd_addr,
     btif_config_set_int("Remote", bdstr, "HidVersion", version);
     btif_config_set_int("Remote", bdstr, "HidCountryCode", ctry_code);
     if(dl_len > 0)
-        btif_config_set("Remote", bdstr, "HidDescriptor", (const char*)dsc_list, dl_len, BTIF_CFG_TYPE_BIN);
+        btif_config_set("Remote", bdstr, "HidDescriptor", (const char*)dsc_list, dl_len,
+                        BTIF_CFG_TYPE_BIN);
+    btif_config_save();
     return BT_STATUS_SUCCESS;
 }
 
@@ -1467,6 +1470,7 @@ bt_status_t btif_storage_remove_hid_info(bt_bdaddr_t *remote_bd_addr)
     btif_config_remove("Remote", bdstr, "HidVersion");
     btif_config_remove("Remote", bdstr, "HidCountryCode");
     btif_config_remove("Remote", bdstr, "HidDescriptor");
+    btif_config_save();
     return BT_STATUS_SUCCESS;
 }