diff options
| -rw-r--r-- | hcid/adapter.c | 2 | ||||
| -rw-r--r-- | hcid/device.c | 5 | ||||
| -rw-r--r-- | hcid/device.h | 1 | 
3 files changed, 7 insertions, 1 deletions
| diff --git a/hcid/adapter.c b/hcid/adapter.c index 15209333..60f3a58f 100644 --- a/hcid/adapter.c +++ b/hcid/adapter.c @@ -1673,7 +1673,7 @@ static DBusMessage *remove_device(DBusConnection *conn,  				"Device does not exist");  	device = l->data; -	if (device->temporary || device->discov_active) +	if (device->temporary || device_is_busy(device))  		return g_dbus_create_error(msg,  				ERROR_INTERFACE ".DoesNotExist",  				"Device creation in progress"); diff --git a/hcid/device.c b/hcid/device.c index 06c5db4f..49017707 100644 --- a/hcid/device.c +++ b/hcid/device.c @@ -968,6 +968,11 @@ void device_set_agent(struct device *device, struct agent *agent)  	device->agent = agent;  } +gboolean device_is_busy(struct device *device) +{ +	return device->discov_active ? TRUE : FALSE; +} +  int btd_register_device_driver(struct btd_device_driver *driver)  {  	const char **uuid; diff --git a/hcid/device.h b/hcid/device.h index 038e9764..d30104ea 100644 --- a/hcid/device.h +++ b/hcid/device.h @@ -61,6 +61,7 @@ const gchar *device_get_address(struct device *device);  const gchar *device_get_path(struct device *device);  struct agent *device_get_agent(struct device *device);  void device_set_agent(struct device *device, struct agent *agent); +gboolean device_is_busy(struct device *device);  #define BTD_UUIDS(args...) ((const char *[]) { args, NULL } ) | 
