--- /dev/null
+Fix for kernel panic caused by adding a timer when a timer is already pending.
+
+Signed-off-by: Tatyana Nikolova <Tatyana.E.Nikolova@intel.com>
+---
+ drivers/infiniband/hw/nes/nes_cm.c | 2 +-
+ 1 files changed, 1 insertions(+), 1 deletions(-)
+
+diff --git a/drivers/infiniband/hw/nes/nes_cm.c b/drivers/infiniband/hw/nes/nes_cm.c
+index cfaacaf..c04bfca 100644
+--- a/drivers/infiniband/hw/nes/nes_cm.c
++++ b/drivers/infiniband/hw/nes/nes_cm.c
+@@ -727,7 +727,7 @@ int schedule_nes_timer(struct nes_cm_node *cm_node, struct sk_buff *skb,
+
+ if (!was_timer_set) {
+ cm_core->tcp_timer.expires = new_send->timetosend;
+- add_timer(&cm_core->tcp_timer);
++ mod_timer(&cm_core->tcp_timer, cm_core->tcp_timer.expires);
+ }
+
+ return ret;
+--
+1.7.4.2
+