diff options
Diffstat (limited to 'drivers/infiniband/hw/nes/nes_cm.c')
-rw-r--r-- | drivers/infiniband/hw/nes/nes_cm.c | 6 |
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; |