From 7e69013e0c9cc4f37650cdece08a920ca5927d03 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Josef=20S=C3=B6ntgen?= <josef.soentgen@genode-labs.com>
Date: Mon, 9 Mar 2015 14:32:44 +0100
Subject: [PATCH] wifi_drv: store timeout also in timer_list.expires

The wireless stack calls timer_before(foo, timer.expires) and up to now
it was always 0. Let's be save and set this field when scheduling the
timer, although it worked fine so far.

Issue #1439.
---
 repos/dde_linux/src/lib/wifi/timer.cc | 6 ++++++
 1 file changed, 6 insertions(+)

diff --git a/repos/dde_linux/src/lib/wifi/timer.cc b/repos/dde_linux/src/lib/wifi/timer.cc
index 6eff89dc7f..61bfeaef29 100644
--- a/repos/dde_linux/src/lib/wifi/timer.cc
+++ b/repos/dde_linux/src/lib/wifi/timer.cc
@@ -120,6 +120,12 @@ class Lx::Timer
 			ctx->timeout    = expires;
 			ctx->pending    = true;
 			ctx->programmed = false;
+			/*
+			 * Also write the timeout value to the expires field in
+			 * struct timer_list because the wireless stack checks
+			 * it directly.
+			 */
+			ctx->timer->expires = expires;
 
 			Context *c;
 			for (c = _list.first(); c; c = c->next())