• Tim Gardner's avatar
    soc: fsl: dpio: Unsigned compared against 0 in qbman_swp_set_irq_coalescing() · 818a76a5
    Tim Gardner authored
    Coverity complains of unsigned compare against 0. There are 2 cases in
    this function:
    
    1821        itp = (irq_holdoff * 1000) / p->desc->qman_256_cycles_per_ns;
    
    CID 121131 (#1 of 1): Unsigned compared against 0 (NO_EFFECT)
    unsigned_compare: This less-than-zero comparison of an unsigned value is never true. itp < 0U.
    1822        if (itp < 0 || itp > 4096) {
    1823                max_holdoff = (p->desc->qman_256_cycles_per_ns * 4096) / 1000;
    1824                pr_err("irq_holdoff must be between 0..%dus\n", max_holdoff);
    1825                return -EINVAL;
    1826        }
    1827
        	unsigned_compare: This less-than-zero comparison of an unsigned value is never true. irq_threshold < 0U.
    1828        if (irq_threshold >= p->dqrr.dqrr_size || irq_threshold < 0) {
    1829                pr_err("irq_threshold must be between 0..%d\n",
    1830                       p->dqrr.dqrr_size - 1);
    1831                return -EINVAL;
    1832        }
    
    Fix this by removing the comparisons altogether as they are incorrect. Zero is
    a possible value in either case. Also fix a minor comment typo and update the
    2 pr_err() calls to use %u formatting as well as be more precise regarding
    the exact error.
    
    Fixes: ed1d2143 ("soc: fsl: dpio: add support for irq coalescing per software portal")
    Cc: Ioana Ciornei <ioana.ciornei@nxp.com>
    Cc: Roy Pledge <Roy.Pledge@nxp.com>
    Cc: Li Yang <leoyang.li@nxp.com>
    Cc: linux-kernel@vger.kernel.org
    Cc: linuxppc-dev@lists.ozlabs.org
    Cc: linux-arm-kernel@lists.infradead.org
    Cc: netdev@vger.kernel.org
    Signed-off-by: default avatarTim Gardner <tim.gardner@canonical.com>
    Tested-by: default avatarIoana Ciornei <ioana.ciornei@nxp.com>
    Reviewed-by: default avatarIoana Ciornei <ioana.ciornei@nxp.com>
    Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
    818a76a5
qbman-portal.c 52.6 KB