lkml.org 
[lkml]   [2020]   [Mar]   [19]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH 4.19 20/48] hinic: fix a irq affinity bug
    Date
    From: Luo bin <luobin9@huawei.com>

    [ Upstream commit 0bff777bd0cba73ad4cd0145696ad284d7e6a99f ]

    can not use a local variable as an input parameter of
    irq_set_affinity_hint

    Signed-off-by: Luo bin <luobin9@huawei.com>
    Signed-off-by: David S. Miller <davem@davemloft.net>
    Signed-off-by: Sasha Levin <sashal@kernel.org>
    ---
    drivers/net/ethernet/huawei/hinic/hinic_hw_qp.h | 1 +
    drivers/net/ethernet/huawei/hinic/hinic_rx.c | 5 ++---
    2 files changed, 3 insertions(+), 3 deletions(-)

    diff --git a/drivers/net/ethernet/huawei/hinic/hinic_hw_qp.h b/drivers/net/ethernet/huawei/hinic/hinic_hw_qp.h
    index 6c84f83ec2831..d46cfd4fbbbc5 100644
    --- a/drivers/net/ethernet/huawei/hinic/hinic_hw_qp.h
    +++ b/drivers/net/ethernet/huawei/hinic/hinic_hw_qp.h
    @@ -103,6 +103,7 @@ struct hinic_rq {

    struct hinic_wq *wq;

    + struct cpumask affinity_mask;
    u32 irq;
    u16 msix_entry;

    diff --git a/drivers/net/ethernet/huawei/hinic/hinic_rx.c b/drivers/net/ethernet/huawei/hinic/hinic_rx.c
    index 06b24a92ed7d4..3467d84d96c39 100644
    --- a/drivers/net/ethernet/huawei/hinic/hinic_rx.c
    +++ b/drivers/net/ethernet/huawei/hinic/hinic_rx.c
    @@ -414,7 +414,6 @@ static int rx_request_irq(struct hinic_rxq *rxq)
    struct hinic_hwdev *hwdev = nic_dev->hwdev;
    struct hinic_rq *rq = rxq->rq;
    struct hinic_qp *qp;
    - struct cpumask mask;
    int err;

    rx_add_napi(rxq);
    @@ -431,8 +430,8 @@ static int rx_request_irq(struct hinic_rxq *rxq)
    }

    qp = container_of(rq, struct hinic_qp, rq);
    - cpumask_set_cpu(qp->q_id % num_online_cpus(), &mask);
    - return irq_set_affinity_hint(rq->irq, &mask);
    + cpumask_set_cpu(qp->q_id % num_online_cpus(), &rq->affinity_mask);
    + return irq_set_affinity_hint(rq->irq, &rq->affinity_mask);
    }

    static void rx_free_irq(struct hinic_rxq *rxq)
    --
    2.20.1


    \
     
     \ /
      Last update: 2020-03-19 14:32    [W:3.071 / U:0.044 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site