From a92010b5122b8e261c284da313810bf231f068f2 Mon Sep 17 00:00:00 2001 From: Marcel Holtmann Date: Sat, 14 Feb 2009 18:10:29 +0100 Subject: Only storage class of device if it changed --- src/adapter.c | 5 +++++ src/dbus-hci.c | 5 ++--- 2 files changed, 7 insertions(+), 3 deletions(-) (limited to 'src') diff --git a/src/adapter.c b/src/adapter.c index cfe134ea..93db68bd 100644 --- a/src/adapter.c +++ b/src/adapter.c @@ -2306,8 +2306,13 @@ int adapter_set_class(struct btd_adapter *adapter, uint8_t *cls) { struct hci_dev *dev = &adapter->dev; + if (memcmp(dev->class, cls, 3) == 0) + return 0; + memcpy(dev->class, cls, 3); + write_local_class(&adapter->bdaddr, cls); + return 0; } diff --git a/src/dbus-hci.c b/src/dbus-hci.c index d75ee2fc..dcd31493 100644 --- a/src/dbus-hci.c +++ b/src/dbus-hci.c @@ -1158,10 +1158,9 @@ void hcid_dbus_write_class_complete(bdaddr_t *local) return; } - adapter_set_class(adapter, cls); - write_local_class(local, cls); - hci_close_dev(dd); + + adapter_set_class(adapter, cls); } void hcid_dbus_write_simple_pairing_mode_complete(bdaddr_t *local) -- cgit