Hello Raghava Aditya Renukunta, The patch 423400e64d37: "scsi: aacraid: Include HBA direct interface" from Feb 2, 2017, leads to the following static checker warning: drivers/scsi/aacraid/commsup.c:762 aac_hba_send() error: double unlock 'sem:&fibptr->event_wait' drivers/scsi/aacraid/commsup.c 757 if (wait) { 758 spin_unlock_irqrestore(&fibptr->event_lock, flags); 759 /* Only set for first known interruptable command */ This comment just confuses me... What is a "known interruptable command?" 760 if (down_interruptible(&fibptr->event_wait)) { down_interruptible() return -EINTR on failure so this test looks reversed. It should probably be: if (!down_interruptible(&fibptr->event_wait)) { 761 fibptr->done = 2; 762 up(&fibptr->event_wait); 763 } 764 spin_lock_irqsave(&fibptr->event_lock, flags); 765 if ((fibptr->done == 0) || (fibptr->done == 2)) { 766 fibptr->done = 2; /* Tell interrupt we aborted */ 767 spin_unlock_irqrestore(&fibptr->event_lock, flags); 768 return -ERESTARTSYS; 769 } 770 spin_unlock_irqrestore(&fibptr->event_lock, flags); 771 WARN_ON(fibptr->done == 0); 772 773 if (unlikely(fibptr->flags & FIB_CONTEXT_FLAG_TIMED_OUT)) 774 return -ETIMEDOUT; 775 776 return 0; 777 } regards, dan carpenter