BLE devices have two different address types: public or random. So we need to provide this address type on keys in the "primary" file to avoid duplicate BLE address types around the BlueZ. This series changes the storage to store the address type together with the device address. Hemant Gupta has been working on this on "Store LE device address type with primary list" but his patch hasn't been accepted and he didn't send a new reviewed version of that patch. I have patches for the other storage files as well, I'll send them soon. There is a potential problem in device_address_cmp() function which checks the address only. I am investigating how to fix it to compare address and type without breaking the current code. v3's changes: - (1/3): Remove unnecessary comment about the new storage format and code that leads with the old storage format. - (2/3): Just use the initial version of this patch (the returning < 2 check in sscanf() function). - (3/3): New patch that fixes removing device services from "primary" file by passing a key with the new storage format in delete_device_service(). Note also that this function was modified to only treat the primary case - since we have old storage format still being used in the other LE-related storage files. So, it will need to be modified in order to delete device services of other files (characteristics, ccc, etc) on other series. Claudio Takahasi (1): core: Fix creating device from "primary" file Paulo Alcantara (2): storage: Store BLE address type in "primary" file core: Fix removing device services from "primary" file src/adapter.c | 10 +++++++--- src/device.c | 4 ++-- src/storage.c | 45 ++++++++++++++++++++++++++------------------- src/storage.h | 8 +++++--- 4 files changed, 40 insertions(+), 27 deletions(-) -- 1.7.7.6 -- To unsubscribe from this list: send the line "unsubscribe linux-bluetooth" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html