diff options
author | Linus Torvalds <torvalds@linux-foundation.org> | 2015-05-31 14:31:42 -0400 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2015-05-31 14:31:42 -0400 |
commit | dae8f283bf30738593f6d2a4623945c5e6d7794e (patch) | |
tree | f4ef01f19ff8cbdae0eaac61f12236ed5e9f297d /drivers/scsi | |
parent | 30a5f11896a26a345e934e18e9a62c714bc1ceed (diff) | |
parent | b2feda4feb1b0ea74c0916b4a35b038bbfef9c82 (diff) |
Merge git://git.kernel.org/pub/scm/linux/kernel/git/nab/target-pending
Pull SCSI target fixes from Nicholas Bellinger:
"These are mostly minor fixes, with the exception of the following that
address fall-out from recent v4.1-rc1 changes:
- regression fix related to the big fabric API registration changes
and configfs_depend_item() usage, that required cherry-picking one
of HCH's patches from for-next to address the issue for v4.1 code.
- remaining TCM-USER -v2 related changes to enforce full CDB
passthrough from Andy + Ilias.
Also included is a target_core_pscsi driver fix from Andy that
addresses a long standing issue with a Scsi_Host reference being
leaked on PSCSI device shutdown"
* git://git.kernel.org/pub/scm/linux/kernel/git/nab/target-pending:
iser-target: Fix error path in isert_create_pi_ctx()
target: Use a PASSTHROUGH flag instead of transport_types
target: Move passthrough CDB parsing into a common function
target/user: Only support full command pass-through
target/user: Update example code for new ABI requirements
target/pscsi: Don't leak scsi_host if hba is VIRTUAL_HOST
target: Fix se_tpg_tfo->tf_subsys regression + remove tf_subsystem
target: Drop signal_pending checks after interruptible lock acquire
target: Add missing parentheses
target: Fix bidi command handling
target/user: Disallow full passthrough (pass_level=0)
ISCSI: fix minor memory leak
Diffstat (limited to 'drivers/scsi')
-rw-r--r-- | drivers/scsi/qla2xxx/tcm_qla2xxx.c | 6 |
1 files changed, 2 insertions, 4 deletions
diff --git a/drivers/scsi/qla2xxx/tcm_qla2xxx.c b/drivers/scsi/qla2xxx/tcm_qla2xxx.c index 68c2002e78bf..5c9e680aa375 100644 --- a/drivers/scsi/qla2xxx/tcm_qla2xxx.c +++ b/drivers/scsi/qla2xxx/tcm_qla2xxx.c | |||
@@ -1020,8 +1020,7 @@ static void tcm_qla2xxx_depend_tpg(struct work_struct *work) | |||
1020 | struct se_portal_group *se_tpg = &base_tpg->se_tpg; | 1020 | struct se_portal_group *se_tpg = &base_tpg->se_tpg; |
1021 | struct scsi_qla_host *base_vha = base_tpg->lport->qla_vha; | 1021 | struct scsi_qla_host *base_vha = base_tpg->lport->qla_vha; |
1022 | 1022 | ||
1023 | if (!configfs_depend_item(se_tpg->se_tpg_tfo->tf_subsys, | 1023 | if (!target_depend_item(&se_tpg->tpg_group.cg_item)) { |
1024 | &se_tpg->tpg_group.cg_item)) { | ||
1025 | atomic_set(&base_tpg->lport_tpg_enabled, 1); | 1024 | atomic_set(&base_tpg->lport_tpg_enabled, 1); |
1026 | qlt_enable_vha(base_vha); | 1025 | qlt_enable_vha(base_vha); |
1027 | } | 1026 | } |
@@ -1037,8 +1036,7 @@ static void tcm_qla2xxx_undepend_tpg(struct work_struct *work) | |||
1037 | 1036 | ||
1038 | if (!qlt_stop_phase1(base_vha->vha_tgt.qla_tgt)) { | 1037 | if (!qlt_stop_phase1(base_vha->vha_tgt.qla_tgt)) { |
1039 | atomic_set(&base_tpg->lport_tpg_enabled, 0); | 1038 | atomic_set(&base_tpg->lport_tpg_enabled, 0); |
1040 | configfs_undepend_item(se_tpg->se_tpg_tfo->tf_subsys, | 1039 | target_undepend_item(&se_tpg->tpg_group.cg_item); |
1041 | &se_tpg->tpg_group.cg_item); | ||
1042 | } | 1040 | } |
1043 | complete(&base_tpg->tpg_base_comp); | 1041 | complete(&base_tpg->tpg_base_comp); |
1044 | } | 1042 | } |