Merge branch 'docs-next' of git://git.lwn.net/linux-2.6
[pandora-kernel.git] / drivers / infiniband / hw / qib / qib_iba7322.c
index b01809a..4a2d21e 100644 (file)
@@ -5582,9 +5582,16 @@ static void qsfp_7322_event(struct work_struct *work)
         * even on failure to read cable information.  We don't
         * get here for QME, so IS_QME check not needed here.
         */
-       le2 = (!ret && qd->cache.atten[1] >= qib_long_atten &&
-              !ppd->dd->cspec->r1 && QSFP_IS_CU(qd->cache.tech)) ?
-               LE2_5m : LE2_DEFAULT;
+       if (!ret && !ppd->dd->cspec->r1) {
+               if (QSFP_IS_ACTIVE_FAR(qd->cache.tech))
+                       le2 = LE2_QME;
+               else if (qd->cache.atten[1] >= qib_long_atten &&
+                        QSFP_IS_CU(qd->cache.tech))
+                       le2 = LE2_5m;
+               else
+                       le2 = LE2_DEFAULT;
+       } else
+               le2 = LE2_DEFAULT;
        ibsd_wr_allchans(ppd, 13, (le2 << 7), BMASK(9, 7));
        init_txdds_table(ppd, 0);
 }