• Anatoliy Glagolev's avatar
    scsi: qla2xxx: deadlock by configfs_depend_item · 17b18eaa
    Anatoliy Glagolev authored
    The intent of invoking configfs_depend_item in commit 7474f52a
    ("tcm_qla2xxx: Perform configfs depend/undepend for base_tpg")
    was to prevent a physical Fibre Channel port removal when
    virtual (NPIV) ports announced through that physical port are active.
    The change does not work as expected: it makes enabled physical port
    dependent on target configfs subsystem (the port's parent), something
    the configfs guarantees anyway.
    
    Besides, scheduling work in a worker thread and waiting for the work's
    completion is not really a valid workaround for the requirement not to call
    configfs_depend_item from a configfs callback: the call occasionally
    deadlocks.
    
    Thus, removing configfs_depend_item calls does not break anything and fixes
    the deadlock problem.
    Signed-off-by: default avatarAnatoliy Glagolev <glagolig@gmail.com>
    Acked-by: default avatarHimanshu Madhani <hmadhani@marvell.com>
    Signed-off-by: default avatarMartin K. Petersen <martin.petersen@oracle.com>
    17b18eaa
tcm_qla2xxx.c 54.8 KB