• James Bottomley's avatar
    [PATCH] add scsi_execute_in_process_context() API · faead26d
    James Bottomley authored
    
    
    We have several points in the SCSI stack (primarily for our device
    functions) where we need to guarantee process context, but (given the
    place where the last reference was released) we cannot guarantee this.
    
    This API gets around the issue by executing the function directly if
    the caller has process context, but scheduling a workqueue to execute
    in process context if the caller doesn't have it.  Unfortunately, it
    requires memory allocation in interrupt context, but it's better than
    what we have previously.  The true solution will require a bit of
    re-engineering, so isn't appropriate for 2.6.16.
    Signed-off-by: default avatarJames Bottomley <James.Bottomley@SteelEye.com>
    faead26d
scsi_lib.c 58.5 KB