diff options
author | Steve Schrock <steve.schrock@getcruise.com> | 2024-04-19 16:44:52 +0000 |
---|---|---|
committer | Denis Kenzior <denkenz@gmail.com> | 2024-04-22 09:24:32 -0500 |
commit | 39b7437a004461f104f9e28372a6e73e126239ec (patch) | |
tree | 940354bfd96cda4770d806b84ed2913657f17fc6 | |
parent | 279b04c15127499e52532ac08d947d45a48605e6 (diff) | |
download | ofono-39b7437a004461f104f9e28372a6e73e126239ec.tar.gz |
qmi: Eliminate atomic ref counting
This code is single-threaded so there is no need to use atomics.
While here simplify qmi_service_ref.
-rw-r--r-- | drivers/qmimodem/qmi.c | 8 |
1 files changed, 3 insertions, 5 deletions
diff --git a/drivers/qmimodem/qmi.c b/drivers/qmimodem/qmi.c index 7f91b57d1..0811eaf2f 100644 --- a/drivers/qmimodem/qmi.c +++ b/drivers/qmimodem/qmi.c @@ -2660,10 +2660,8 @@ bool qmi_service_create(struct qmi_device *device, struct qmi_service *qmi_service_ref(struct qmi_service *service) { - if (!service) - return NULL; - - __sync_fetch_and_add(&service->ref_count, 1); + if (service) + service->ref_count++; return service; } @@ -2676,7 +2674,7 @@ void qmi_service_unref(struct qmi_service *service) if (!service) return; - if (__sync_sub_and_fetch(&service->ref_count, 1)) + if (--service->ref_count) return; device = service->device; |