aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/infiniband/hw/nes/nes_cm.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/infiniband/hw/nes/nes_cm.c')
-rw-r--r--drivers/infiniband/hw/nes/nes_cm.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/drivers/infiniband/hw/nes/nes_cm.c b/drivers/infiniband/hw/nes/nes_cm.c
index 1f7a659e6e9a..4969c386785e 100644
--- a/drivers/infiniband/hw/nes/nes_cm.c
+++ b/drivers/infiniband/hw/nes/nes_cm.c
@@ -541,6 +541,7 @@ static void nes_cm_timer_tick(unsigned long pass)
541 struct list_head *list_node; 541 struct list_head *list_node;
542 struct nes_cm_core *cm_core = g_cm_core; 542 struct nes_cm_core *cm_core = g_cm_core;
543 u32 settimer = 0; 543 u32 settimer = 0;
544 unsigned long timetosend;
544 int ret = NETDEV_TX_OK; 545 int ret = NETDEV_TX_OK;
545 546
546 struct list_head timer_list; 547 struct list_head timer_list;
@@ -645,8 +646,11 @@ static void nes_cm_timer_tick(unsigned long pass)
645 send_entry->retrycount); 646 send_entry->retrycount);
646 if (send_entry->send_retrans) { 647 if (send_entry->send_retrans) {
647 send_entry->retranscount--; 648 send_entry->retranscount--;
649 timetosend = (NES_RETRY_TIMEOUT <<
650 (NES_DEFAULT_RETRANS - send_entry->retranscount));
651
648 send_entry->timetosend = jiffies + 652 send_entry->timetosend = jiffies +
649 NES_RETRY_TIMEOUT; 653 min(timetosend, NES_MAX_TIMEOUT);
650 if (nexttimeout > send_entry->timetosend || 654 if (nexttimeout > send_entry->timetosend ||
651 !settimer) { 655 !settimer) {
652 nexttimeout = send_entry->timetosend; 656 nexttimeout = send_entry->timetosend;