From: Michal Kalderon <Michal.Kalderon@xxxxxxxxxx> 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. -- To unsubscribe from this list: send the line "unsubscribe linux-rdma" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html