@@ -63,7 +63,6 @@ struct qmi_device_ops {
};
struct qmi_device {
- int ref_count;
int fd;
GIOChannel *io;
guint read_watch;
@@ -920,8 +919,6 @@ static int qmi_device_init(struct qmi_device *device, int fd,
__debug_device(device, "device %p new", device);
- device->ref_count = 1;
-
device->fd = fd;
flags = fcntl(device->fd, F_GETFL, NULL);
@@ -967,14 +964,11 @@ static void __qmi_device_shutdown_finished(struct qmi_device *device)
device->ops->destroy(device);
}
-void qmi_device_unref(struct qmi_device *device)
+void qmi_device_free(struct qmi_device *device)
{
if (!device)
return;
- if (__sync_sub_and_fetch(&device->ref_count, 1))
- return;
-
__debug_device(device, "device %p free", device);
l_queue_destroy(device->control_queue, __request_free);
@@ -81,7 +81,7 @@ typedef void (*qmi_debug_func_t)(const char *str, void *user_data);
typedef void (*qmi_shutdown_func_t)(void *user_data);
typedef void (*qmi_discover_func_t)(void *user_data);
-void qmi_device_unref(struct qmi_device *device);
+void qmi_device_free(struct qmi_device *device);
void qmi_device_set_debug(struct qmi_device *device,
qmi_debug_func_t func, void *user_data);
@@ -147,7 +147,7 @@ static void gobi_remove(struct ofono_modem *modem)
cleanup_services(data);
- qmi_device_unref(data->device);
+ qmi_device_free(data->device);
g_free(data);
}
@@ -161,7 +161,7 @@ static void shutdown_cb(void *user_data)
data->discover_attempts = 0;
- qmi_device_unref(data->device);
+ qmi_device_free(data->device);
data->device = NULL;
ofono_modem_set_powered(modem, FALSE);