diff options
-rw-r--r-- | drivers/uwb/beacon.c | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/drivers/uwb/beacon.c b/drivers/uwb/beacon.c index f65a52c0afac..1ccf9eb3e086 100644 --- a/drivers/uwb/beacon.c +++ b/drivers/uwb/beacon.c | |||
@@ -298,11 +298,12 @@ struct uwb_beca_e *__uwb_beca_add(struct uwb_rc_evt_beacon *be, | |||
298 | void uwb_beca_purge(void) | 298 | void uwb_beca_purge(void) |
299 | { | 299 | { |
300 | struct uwb_beca_e *bce, *next; | 300 | struct uwb_beca_e *bce, *next; |
301 | unsigned long now = jiffies; | 301 | unsigned long expires; |
302 | |||
302 | mutex_lock(&uwb_beca.mutex); | 303 | mutex_lock(&uwb_beca.mutex); |
303 | list_for_each_entry_safe(bce, next, &uwb_beca.list, node) { | 304 | list_for_each_entry_safe(bce, next, &uwb_beca.list, node) { |
304 | if (now - bce->ts_jiffies | 305 | expires = bce->ts_jiffies + msecs_to_jiffies(beacon_timeout_ms); |
305 | > msecs_to_jiffies(beacon_timeout_ms)) { | 306 | if (time_after(jiffies, expires)) { |
306 | uwbd_dev_offair(bce); | 307 | uwbd_dev_offair(bce); |
307 | list_del(&bce->node); | 308 | list_del(&bce->node); |
308 | uwb_bce_put(bce); | 309 | uwb_bce_put(bce); |