IB/ipath: fix handling of kpiobufs
authorBryan O'Sullivan <bos@pathscale.com>
Fri, 25 Aug 2006 18:24:29 +0000 (11:24 -0700)
committerRoland Dreier <rolandd@cisco.com>
Fri, 22 Sep 2006 22:22:28 +0000 (15:22 -0700)
Change comment: no longer imply that user can set ipath_kpiobufs to zero.
Actually set ipath_kpiobufs from parameter. Previously only altered
per-device ipath_lastport_piobuf, which was over-written in chip init.

Signed-off-by: Bryan O'Sullivan <bryan.osullivan@qlogic.com>
Signed-off-by: Roland Dreier <rolandd@cisco.com>
drivers/infiniband/hw/ipath/ipath_init_chip.c

index c63de8f..75c3721 100644 (file)
@@ -691,7 +691,7 @@ int ipath_init_chip(struct ipath_devdata *dd, int reinit)
        dd->ipath_pioavregs = ALIGN(val, sizeof(u64) * BITS_PER_BYTE / 2)
                / (sizeof(u64) * BITS_PER_BYTE / 2);
        if (ipath_kpiobufs == 0) {
-               /* not set by user, or set explictly to default  */
+               /* not set by user (this is default) */
                if ((dd->ipath_piobcnt2k + dd->ipath_piobcnt4k) > 128)
                        kpiobufs = 32;
                else
@@ -950,6 +950,7 @@ static int ipath_set_kpiobufs(const char *str, struct kernel_param *kp)
                        dd->ipath_piobcnt2k + dd->ipath_piobcnt4k - val;
        }
 
+       ipath_kpiobufs = val;
        ret = 0;
 bail:
        spin_unlock_irqrestore(&ipath_devs_lock, flags);