On 05/09/2016 11:04 PM, Lijun Ou wrote:
> +static void hns_roce_v1_cq_clean(struct hns_roce_cq *hr_cq, u32 qpn,
> + struct hns_roce_srq *srq)
> +{
> + spin_lock_irq(&hr_cq->lock);
> + hns_roce_v1_clean_cq(hr_cq, qpn, srq);
> + spin_unlock_irq(&hr_cq->lock);
> +}This is a perfect example of what I was talking about in my last email. The convention here would be to name the main function __hns_roce_v1_cq_clean and the wrapper hns_roce_v1_cq_clean. Instead, you have one named cq_clean and one named clean_cq. Keeping straight which of those locks itself and which needs to be called with the lock held is nigh impossible. -- Doug Ledford <[email protected]> GPG KeyID: 0E572FDD
signature.asc
Description: OpenPGP digital signature

