This fixes an issue with the TechnologyAdded signal when the first
un-hardblock event occurs:
- when a technology was created, D-Bus registration was done and hardblock
was set to TRUE even if there was no evidence that the technology was
rfkill driven
- when the technology was updated to be rfkill driven, hardblock was already
set to TRUE and thus the technology was not unregistered
- when an rfkill event un-hardblocks the technology, the TechnologyAdded
signal was not sent since the technology was already registered to D-Bus
static gboolean technology_dbus_register(struct connman_technology *technology)
{
if (technology->dbus_registered == TRUE ||
- (technology->rfkill_driven &&
+ (technology->rfkill_driven == TRUE &&
technology->hardblocked == TRUE))
return TRUE;
technology->rfkill_driven = FALSE;
technology->softblocked = FALSE;
-
- if (type == CONNMAN_SERVICE_TYPE_ETHERNET)
- technology->hardblocked = FALSE;
- else
- technology->hardblocked = TRUE;
+ technology->hardblocked = FALSE;
technology->type = type;
technology->path = g_strdup_printf("%s/technology/%s",