diff options
author | Juergen Gross <jgross@suse.com> | 2016-02-08 15:30:18 +0100 |
---|---|---|
committer | Sasha Levin <sasha.levin@oracle.com> | 2016-03-07 12:07:39 -0500 |
commit | 86708275f1c1ba89c2d1ef7cd4a1c66a10b35b45 (patch) | |
tree | dc46153895b376d9c6776d84413ac752539dbfb3 | |
parent | eef85746c932a90df78492598c501315c7e0c5c1 (diff) | |
download | lwn-86708275f1c1ba89c2d1ef7cd4a1c66a10b35b45.tar.gz lwn-86708275f1c1ba89c2d1ef7cd4a1c66a10b35b45.zip |
xen/scsiback: correct frontend counting
[ Upstream commit f285aa8db7cc4432c1a03f8b55ff34fe96317c11 ]
When adding a new frontend to xen-scsiback don't decrement the number
of active frontends in case of no error. Doing so results in a failure
when trying to remove the xen-pvscsi nexus even if no domain is using
it.
Signed-off-by: Juergen Gross <jgross@suse.com>
Reviewed-by: Boris Ostrovsky <boris.ostrovsky@oracle.com>
Cc: stable@vger.kernel.org
Signed-off-by: David Vrabel <david.vrabel@citrix.com>
Signed-off-by: Sasha Levin <sasha.levin@oracle.com>
-rw-r--r-- | drivers/xen/xen-scsiback.c | 10 |
1 files changed, 5 insertions, 5 deletions
diff --git a/drivers/xen/xen-scsiback.c b/drivers/xen/xen-scsiback.c index b7f51504f85a..c561d530be2e 100644 --- a/drivers/xen/xen-scsiback.c +++ b/drivers/xen/xen-scsiback.c @@ -941,12 +941,12 @@ out: spin_unlock_irqrestore(&info->v2p_lock, flags); out_free: - mutex_lock(&tpg->tv_tpg_mutex); - tpg->tv_tpg_fe_count--; - mutex_unlock(&tpg->tv_tpg_mutex); - - if (err) + if (err) { + mutex_lock(&tpg->tv_tpg_mutex); + tpg->tv_tpg_fe_count--; + mutex_unlock(&tpg->tv_tpg_mutex); kfree(new); + } return err; } |