diff options
author | Mark Brown <broonie@kernel.org> | 2017-04-06 11:50:04 +0100 |
---|---|---|
committer | Mark Brown <broonie@kernel.org> | 2017-04-06 11:50:04 +0100 |
commit | 3a37471551cd3b287ce7f02ed25bcf8ec37a191d (patch) | |
tree | f7bacf98400f55bed2737c9f7cf3b68f9a070c2b /lib/timerqueue.c | |
parent | e0c4211854bfebd5507761a2bfddaa9e37074230 (diff) | |
parent | fc99d23f6d3ec6b17772915114018444393e0ad1 (diff) |
Merge branch 'fix/rcar' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/sound into asoc-rcar
Diffstat (limited to 'lib/timerqueue.c')
-rw-r--r-- | lib/timerqueue.c | 7 |
1 files changed, 3 insertions, 4 deletions
diff --git a/lib/timerqueue.c b/lib/timerqueue.c index 782ae8ca2c06..4a720ed4fdaf 100644 --- a/lib/timerqueue.c +++ b/lib/timerqueue.c @@ -48,7 +48,7 @@ bool timerqueue_add(struct timerqueue_head *head, struct timerqueue_node *node) while (*p) { parent = *p; ptr = rb_entry(parent, struct timerqueue_node, node); - if (node->expires.tv64 < ptr->expires.tv64) + if (node->expires < ptr->expires) p = &(*p)->rb_left; else p = &(*p)->rb_right; @@ -56,7 +56,7 @@ bool timerqueue_add(struct timerqueue_head *head, struct timerqueue_node *node) rb_link_node(&node->node, parent, p); rb_insert_color(&node->node, &head->head); - if (!head->next || node->expires.tv64 < head->next->expires.tv64) { + if (!head->next || node->expires < head->next->expires) { head->next = node; return true; } @@ -80,8 +80,7 @@ bool timerqueue_del(struct timerqueue_head *head, struct timerqueue_node *node) if (head->next == node) { struct rb_node *rbn = rb_next(&node->node); - head->next = rbn ? - rb_entry(rbn, struct timerqueue_node, node) : NULL; + head->next = rb_entry_safe(rbn, struct timerqueue_node, node); } rb_erase(&node->node, &head->head); RB_CLEAR_NODE(&node->node); |