device: Simplify method return logic

This commit is contained in:
Denis Kenzior 2016-08-04 11:37:23 -05:00
parent 694c62985a
commit 30947414e4
1 changed files with 11 additions and 14 deletions

View File

@ -774,27 +774,24 @@ static void device_disconnect_cb(struct netdev *netdev, bool success,
void *user_data)
{
struct device *device = user_data;
struct l_dbus_message *reply;
l_debug("%d, success: %d", device->index, success);
if (!success) {
if (!device->disconnect_pending)
return;
if (device->disconnect_pending) {
struct l_dbus_message *reply;
dbus_pending_reply(&device->disconnect_pending,
dbus_error_failed(device->disconnect_pending));
return;
if (success) {
reply = l_dbus_message_new_method_return(
device->disconnect_pending);
l_dbus_message_set_arguments(reply, "");
} else
reply = dbus_error_failed(device->disconnect_pending);
dbus_pending_reply(&device->disconnect_pending, reply);
}
device_disassociated(device);
if (!device->disconnect_pending)
return;
reply = l_dbus_message_new_method_return(device->disconnect_pending);
l_dbus_message_set_arguments(reply, "");
dbus_pending_reply(&device->disconnect_pending, reply);
}
int device_disconnect(struct device *device)