[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <20171003.101712.715882117516958741.davem@davemloft.net>
Date: Tue, 03 Oct 2017 10:17:12 -0700 (PDT)
From: David Miller <davem@...emloft.net>
To: Michal.Kalderon@...ium.com
Cc: netdev@...r.kernel.org, linux-rdma@...r.kernel.org,
dledford@...hat.com, Ariel.Elior@...ium.com
Subject: Re: [PATCH v2 net-next 06/12] qed: Add LL2 slowpath handling
From: Michal Kalderon <Michal.Kalderon@...ium.com>
Date: Tue, 3 Oct 2017 11:54:56 +0300
> @@ -423,6 +423,41 @@ static void qed_ll2_rxq_parse_reg(struct qed_hwfn *p_hwfn,
> }
>
> static int
> +qed_ll2_handle_slowpath(struct qed_hwfn *p_hwfn,
> + struct qed_ll2_info *p_ll2_conn,
> + union core_rx_cqe_union *p_cqe,
> + unsigned long *p_lock_flags)
> +{
...
> + spin_unlock_irqrestore(&p_rx->lock, *p_lock_flags);
> +
You can't drop this lock.
Another thread can enter the loop of our caller and process RX queue
entries, then we would return from here and try to process the same
entries again.
Powered by blists - more mailing lists