From: Mitko Haralanov <mi...@qlogic.com>

Fix a kernel panic on QME7342 (and any Mezz boards without
QSFP connectors) caused by scheduling work on uninitialized
workqueue introduced by 62066fc8df4632c772d723813ce7af456d62ddf7.

Signed-off-by: Mitko Haralanov <mi...@qlogic.com>
Signed-off-by: Mike Marciniszyn <mike.marcinis...@qlogic.com>
---
 drivers/infiniband/hw/qib/qib_iba7322.c |    6 ++++--
 1 files changed, 4 insertions(+), 2 deletions(-)

diff --git a/drivers/infiniband/hw/qib/qib_iba7322.c 
b/drivers/infiniband/hw/qib/qib_iba7322.c
index 62005c7..3e40cff 100644
--- a/drivers/infiniband/hw/qib/qib_iba7322.c
+++ b/drivers/infiniband/hw/qib/qib_iba7322.c
@@ -5285,8 +5285,10 @@ static int qib_7322_ib_updown(struct qib_pportdata *ppd, 
int ibup, u64 ibcs)
                        qib_7322_mini_pcs_reset(ppd);
                        /* schedule the qsfp refresh which should turn the link
                           off */
-                       qd->t_insert = get_jiffies_64();
-                       schedule_work(&qd->work);
+                       if (ppd->dd->flags & QIB_HAS_QSFP) {
+                               qd->t_insert = get_jiffies_64();
+                               schedule_work(&qd->work);
+                       }
                        spin_lock_irqsave(&ppd->sdma_lock, flags);
                        if (__qib_sdma_running(ppd))
                                __qib_sdma_process_event(ppd,


--
To unsubscribe from this list: send the line "unsubscribe linux-rdma" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to