On Mon, Jan 10, 2022 at 07:18:38PM +0800, Yang Yingliang wrote: > + spin_lock_irqsave(&node->els_ios_lock, flags); > + > if (els) { > /* initialize fields */ > els->els_retries_remaining = EFC_FC_ELS_DEFAULT_RETRIES; If the els pointer is NULL you will lock the spinlock and disable the interrupts for no reason, maybe you can just protect the list_add_tail()? +spin_lock_irqsave(&node->els_ios_lock, flags); list_add_tail(&els->list_entry, &node->els_ios_list); +spin_unlock_irqrestore(&node->els_ios_lock, flags); Maurizio