aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--drivers/infiniband/hw/nes/nes.h1
-rw-r--r--drivers/infiniband/hw/nes/nes_hw.c9
-rw-r--r--drivers/infiniband/hw/nes/nes_verbs.c4
3 files changed, 6 insertions, 8 deletions
diff --git a/drivers/infiniband/hw/nes/nes.h b/drivers/infiniband/hw/nes/nes.h
index 5cac29e6bc1c..33cc58941a3e 100644
--- a/drivers/infiniband/hw/nes/nes.h
+++ b/drivers/infiniband/hw/nes/nes.h
@@ -532,6 +532,7 @@ void nes_iwarp_ce_handler(struct nes_device *, struct nes_hw_cq *);
532int nes_destroy_cqp(struct nes_device *); 532int nes_destroy_cqp(struct nes_device *);
533int nes_nic_cm_xmit(struct sk_buff *, struct net_device *); 533int nes_nic_cm_xmit(struct sk_buff *, struct net_device *);
534void nes_recheck_link_status(struct work_struct *work); 534void nes_recheck_link_status(struct work_struct *work);
535void nes_terminate_timeout(unsigned long context);
535 536
536/* nes_nic.c */ 537/* nes_nic.c */
537struct net_device *nes_netdev_init(struct nes_device *, void __iomem *); 538struct net_device *nes_netdev_init(struct nes_device *, void __iomem *);
diff --git a/drivers/infiniband/hw/nes/nes_hw.c b/drivers/infiniband/hw/nes/nes_hw.c
index fe7965ee4096..67647e264611 100644
--- a/drivers/infiniband/hw/nes/nes_hw.c
+++ b/drivers/infiniband/hw/nes/nes_hw.c
@@ -75,7 +75,6 @@ static void nes_process_iwarp_aeqe(struct nes_device *nesdev,
75static void process_critical_error(struct nes_device *nesdev); 75static void process_critical_error(struct nes_device *nesdev);
76static void nes_process_mac_intr(struct nes_device *nesdev, u32 mac_number); 76static void nes_process_mac_intr(struct nes_device *nesdev, u32 mac_number);
77static unsigned int nes_reset_adapter_ne020(struct nes_device *nesdev, u8 *OneG_Mode); 77static unsigned int nes_reset_adapter_ne020(struct nes_device *nesdev, u8 *OneG_Mode);
78static void nes_terminate_timeout(unsigned long context);
79static void nes_terminate_start_timer(struct nes_qp *nesqp); 78static void nes_terminate_start_timer(struct nes_qp *nesqp);
80 79
81#ifdef CONFIG_INFINIBAND_NES_DEBUG 80#ifdef CONFIG_INFINIBAND_NES_DEBUG
@@ -3520,7 +3519,7 @@ static void nes_terminate_received(struct nes_device *nesdev,
3520} 3519}
3521 3520
3522/* Timeout routine in case terminate fails to complete */ 3521/* Timeout routine in case terminate fails to complete */
3523static void nes_terminate_timeout(unsigned long context) 3522void nes_terminate_timeout(unsigned long context)
3524{ 3523{
3525 struct nes_qp *nesqp = (struct nes_qp *)(unsigned long)context; 3524 struct nes_qp *nesqp = (struct nes_qp *)(unsigned long)context;
3526 3525
@@ -3530,11 +3529,7 @@ static void nes_terminate_timeout(unsigned long context)
3530/* Set a timer in case hw cannot complete the terminate sequence */ 3529/* Set a timer in case hw cannot complete the terminate sequence */
3531static void nes_terminate_start_timer(struct nes_qp *nesqp) 3530static void nes_terminate_start_timer(struct nes_qp *nesqp)
3532{ 3531{
3533 init_timer(&nesqp->terminate_timer); 3532 mod_timer(&nesqp->terminate_timer, (jiffies + HZ));
3534 nesqp->terminate_timer.function = nes_terminate_timeout;
3535 nesqp->terminate_timer.expires = jiffies + HZ;
3536 nesqp->terminate_timer.data = (unsigned long)nesqp;
3537 add_timer(&nesqp->terminate_timer);
3538} 3533}
3539 3534
3540/** 3535/**
diff --git a/drivers/infiniband/hw/nes/nes_verbs.c b/drivers/infiniband/hw/nes/nes_verbs.c
index cd0ecb215cca..c47ec2599bc9 100644
--- a/drivers/infiniband/hw/nes/nes_verbs.c
+++ b/drivers/infiniband/hw/nes/nes_verbs.c
@@ -1404,6 +1404,9 @@ static struct ib_qp *nes_create_qp(struct ib_pd *ibpd,
1404 } 1404 }
1405 1405
1406 nesqp->sig_all = (init_attr->sq_sig_type == IB_SIGNAL_ALL_WR); 1406 nesqp->sig_all = (init_attr->sq_sig_type == IB_SIGNAL_ALL_WR);
1407 init_timer(&nesqp->terminate_timer);
1408 nesqp->terminate_timer.function = nes_terminate_timeout;
1409 nesqp->terminate_timer.data = (unsigned long)nesqp;
1407 1410
1408 /* update the QP table */ 1411 /* update the QP table */
1409 nesdev->nesadapter->qp_table[nesqp->hwqp.qp_id-NES_FIRST_QPN] = nesqp; 1412 nesdev->nesadapter->qp_table[nesqp->hwqp.qp_id-NES_FIRST_QPN] = nesqp;
@@ -1413,7 +1416,6 @@ static struct ib_qp *nes_create_qp(struct ib_pd *ibpd,
1413 return &nesqp->ibqp; 1416 return &nesqp->ibqp;
1414} 1417}
1415 1418
1416
1417/** 1419/**
1418 * nes_clean_cq 1420 * nes_clean_cq
1419 */ 1421 */