Skip to content
  • Alan Stern's avatar
    Driver core: Don't call put methods while holding a spinlock · 7e9f4b2d
    Alan Stern authored
    
    
    The klist utility routines currently call _put methods while holding a
    spinlock.  This is of course illegal; a put routine could try to
    unregister a device and hence need to sleep.
    
    No problems have arisen until now because in many cases klist removals
    were done synchronously, so the _put methods were never actually used.
    In other cases we may simply have been lucky.
    
    This patch (as784) reworks the klist routines so that _put methods are
    called only _after_ the klist's spinlock has been released.
    
    Signed-off-by: default avatarAlan Stern <stern@rowland.harvard.edu>
    Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@suse.de>
    7e9f4b2d