• Tomas Winkler's avatar
    mei: fix deadlock on mei reset · a733ded5
    Tomas Winkler authored
    This patch fixes 'mei: synchronize irq before initiating a reset'
    The patch had introduced a deadlock between irq thread and mei_reset()
    as they are both holding the same device lock.
    
    ---> device_lock:
    	mei_reset()
                            <---- interrupt thread
    	                        device_lock
    ---> synchornize_irq()
           wait on interrupt thread == (dead lock)
    
    The fix is to call synchronize_irq
    prior to call locked mei_reset function.
    
    Cc: <stable@vger.kernel.org> #4.10+
    Fixes: f302bb0de6ac (mei: synchronize irq before initiating a reset)
    Signed-off-by: default avatarTomas Winkler <tomas.winkler@intel.com>
    Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
    a733ded5
init.c 9.59 KB