aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/infiniband/hw/qib/qib_iba7322.c
diff options
context:
space:
mode:
authorLinus Torvalds <torvalds@linux-foundation.org>2011-01-17 17:45:48 -0500
committerLinus Torvalds <torvalds@linux-foundation.org>2011-01-17 17:45:48 -0500
commit6845a44a314c0c626549de373131bf108f9cc1f1 (patch)
tree9152a5c557434515dd7306d288e8f55ecc64652e /drivers/infiniband/hw/qib/qib_iba7322.c
parenteee2a817df7c5a6e569f353f8be78cc1b3604bb6 (diff)
parent4790f4dc5f4326dab5d81ed8fb8c9473e620bdbb (diff)
Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/roland/infiniband
* 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/roland/infiniband: RDMA: Update workqueue usage RDMA/nes: Fix incorrect SFP+ link status detection on driver init RDMA/nes: Fix SFP+ link down detection issue with switch port disable RDMA/nes: Generate IB_EVENT_PORT_ERR/PORT_ACTIVE events RDMA/nes: Fix bonding on iw_nes IB/srp: Test only once whether iu allocation succeeded IB/mlx4: Handle protocol field in multicast table RDMA: Use vzalloc() to replace vmalloc()+memset(0) mlx4_{core, ib, en}: Fix driver when sizeof (phys_addr_t) > sizeof (long) IB/mthca: Fix driver when sizeof (phys_addr_t) > sizeof (long)
Diffstat (limited to 'drivers/infiniband/hw/qib/qib_iba7322.c')
-rw-r--r--drivers/infiniband/hw/qib/qib_iba7322.c14
1 files changed, 7 insertions, 7 deletions
diff --git a/drivers/infiniband/hw/qib/qib_iba7322.c b/drivers/infiniband/hw/qib/qib_iba7322.c
index abd409d592ef..50cceb3ab885 100644
--- a/drivers/infiniband/hw/qib/qib_iba7322.c
+++ b/drivers/infiniband/hw/qib/qib_iba7322.c
@@ -2406,10 +2406,9 @@ static void qib_7322_mini_quiet_serdes(struct qib_pportdata *ppd)
2406 ppd->lflags &= ~QIBL_IB_AUTONEG_INPROG; 2406 ppd->lflags &= ~QIBL_IB_AUTONEG_INPROG;
2407 spin_unlock_irqrestore(&ppd->lflags_lock, flags); 2407 spin_unlock_irqrestore(&ppd->lflags_lock, flags);
2408 wake_up(&ppd->cpspec->autoneg_wait); 2408 wake_up(&ppd->cpspec->autoneg_wait);
2409 cancel_delayed_work(&ppd->cpspec->autoneg_work); 2409 cancel_delayed_work_sync(&ppd->cpspec->autoneg_work);
2410 if (ppd->dd->cspec->r1) 2410 if (ppd->dd->cspec->r1)
2411 cancel_delayed_work(&ppd->cpspec->ipg_work); 2411 cancel_delayed_work_sync(&ppd->cpspec->ipg_work);
2412 flush_scheduled_work();
2413 2412
2414 ppd->cpspec->chase_end = 0; 2413 ppd->cpspec->chase_end = 0;
2415 if (ppd->cpspec->chase_timer.data) /* if initted */ 2414 if (ppd->cpspec->chase_timer.data) /* if initted */
@@ -2706,7 +2705,7 @@ static noinline void unknown_7322_gpio_intr(struct qib_devdata *dd)
2706 if (!(pins & mask)) { 2705 if (!(pins & mask)) {
2707 ++handled; 2706 ++handled;
2708 qd->t_insert = get_jiffies_64(); 2707 qd->t_insert = get_jiffies_64();
2709 schedule_work(&qd->work); 2708 queue_work(ib_wq, &qd->work);
2710 } 2709 }
2711 } 2710 }
2712 } 2711 }
@@ -4990,8 +4989,8 @@ static void try_7322_autoneg(struct qib_pportdata *ppd)
4990 set_7322_ibspeed_fast(ppd, QIB_IB_DDR); 4989 set_7322_ibspeed_fast(ppd, QIB_IB_DDR);
4991 qib_7322_mini_pcs_reset(ppd); 4990 qib_7322_mini_pcs_reset(ppd);
4992 /* 2 msec is minimum length of a poll cycle */ 4991 /* 2 msec is minimum length of a poll cycle */
4993 schedule_delayed_work(&ppd->cpspec->autoneg_work, 4992 queue_delayed_work(ib_wq, &ppd->cpspec->autoneg_work,
4994 msecs_to_jiffies(2)); 4993 msecs_to_jiffies(2));
4995} 4994}
4996 4995
4997/* 4996/*
@@ -5121,7 +5120,8 @@ static void try_7322_ipg(struct qib_pportdata *ppd)
5121 ib_free_send_mad(send_buf); 5120 ib_free_send_mad(send_buf);
5122retry: 5121retry:
5123 delay = 2 << ppd->cpspec->ipg_tries; 5122 delay = 2 << ppd->cpspec->ipg_tries;
5124 schedule_delayed_work(&ppd->cpspec->ipg_work, msecs_to_jiffies(delay)); 5123 queue_delayed_work(ib_wq, &ppd->cpspec->ipg_work,
5124 msecs_to_jiffies(delay));
5125} 5125}
5126 5126
5127/* 5127/*