aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMark Greer <mgreer@animalcreek.com>2017-03-08 21:35:41 +0000
committerSamuel Ortiz <sameo@linux.intel.com>2017-11-10 00:23:57 +0100
commit7a49d5c41477386b17fd992dabcb38c1648b6d50 (patch)
treecd6a4cecbbc8d7550e927d8cb3f879e5f2ec27fa
parent1321d5518d56674d873d075f368fdcddd2de0467 (diff)
downloadneard-7a49d5c41477386b17fd992dabcb38c1648b6d50.tar.gz
adapter: Clear timer handle when DEP timer stopped
__near_adapter_set_dep_state() stops the neard DEP timer but doesn't clear the timer handle. This can cause neard to try to stop the timer when it isn't running. To fix that, clear the handle so neard doesn't try to stop an already stopped timer. Signed-off-by: Mark Greer <mgreer@animalcreek.com>
-rw-r--r--src/adapter.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/src/adapter.c b/src/adapter.c
index 7be87e2..eb1a407 100644
--- a/src/adapter.c
+++ b/src/adapter.c
@@ -615,8 +615,10 @@ int __near_adapter_set_dep_state(uint32_t idx, bool dep)
target_idx = __neard_device_get_idx(adapter->device_link);
__near_adapter_remove_target(idx, target_idx);
} else {
- if (adapter->dep_timer > 0)
+ if (adapter->dep_timer > 0) {
g_source_remove(adapter->dep_timer);
+ adapter->dep_timer = 0;
+ }
if (!__near_device_register_interface(adapter->device_link))
return -ENODEV;