lkml.org 
[lkml]   [2018]   [Nov]   [29]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH AUTOSEL 4.19 47/68] qed: Fix bitmap_weight() check
    Date
    From: Denis Bolotin <denis.bolotin@cavium.com>

    [ Upstream commit 276d43f0ae963312c0cd0e2b9a85fd11ac65dfcc ]

    Fix the condition which verifies that only one flag is set. The API
    bitmap_weight() should receive size in bits instead of bytes.

    Fixes: b5a9ee7cf3be ("qed: Revise QM cofiguration")
    Signed-off-by: Denis Bolotin <denis.bolotin@cavium.com>
    Signed-off-by: Michal Kalderon <michal.kalderon@cavium.com>
    Signed-off-by: David S. Miller <davem@davemloft.net>
    Signed-off-by: Sasha Levin <sashal@kernel.org>
    ---
    drivers/net/ethernet/qlogic/qed/qed_dev.c | 5 ++++-
    1 file changed, 4 insertions(+), 1 deletion(-)

    diff --git a/drivers/net/ethernet/qlogic/qed/qed_dev.c b/drivers/net/ethernet/qlogic/qed/qed_dev.c
    index 9d2d18c32162..d2ead4eb1b9a 100644
    --- a/drivers/net/ethernet/qlogic/qed/qed_dev.c
    +++ b/drivers/net/ethernet/qlogic/qed/qed_dev.c
    @@ -478,8 +478,11 @@ static u16 *qed_init_qm_get_idx_from_flags(struct qed_hwfn *p_hwfn,
    struct qed_qm_info *qm_info = &p_hwfn->qm_info;

    /* Can't have multiple flags set here */
    - if (bitmap_weight((unsigned long *)&pq_flags, sizeof(pq_flags)) > 1)
    + if (bitmap_weight((unsigned long *)&pq_flags,
    + sizeof(pq_flags) * BITS_PER_BYTE) > 1) {
    + DP_ERR(p_hwfn, "requested multiple pq flags 0x%x\n", pq_flags);
    goto err;
    + }

    switch (pq_flags) {
    case PQ_FLAGS_RLS:
    --
    2.17.1
    \
     
     \ /
      Last update: 2018-11-29 07:12    [W:2.771 / U:0.344 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site