diff options
author | Steffen Maier <maier@linux.ibm.com> | 2019-05-23 15:23:45 +0200 |
---|---|---|
committer | Martin K. Petersen <martin.petersen@oracle.com> | 2019-05-30 03:50:51 +0200 |
commit | d27e5e07f9c49bf2a6a4ef254ce531c1b4fb5a38 (patch) | |
tree | 62ddc2debc2f92460c2223ba662aea38150cb234 /drivers/s390/scsi/zfcp_sysfs.c | |
parent | scsi: libcxgbi: add a check for NULL pointer in cxgbi_check_route() (diff) | |
download | linux-d27e5e07f9c49bf2a6a4ef254ce531c1b4fb5a38.tar.xz linux-d27e5e07f9c49bf2a6a4ef254ce531c1b4fb5a38.zip |
scsi: zfcp: fix missing zfcp_port reference put on -EBUSY from port_remove
With this early return due to zfcp_unit child(ren), we don't use the
zfcp_port reference from the earlier zfcp_get_port_by_wwpn() anymore and
need to put it.
Signed-off-by: Steffen Maier <maier@linux.ibm.com>
Fixes: d99b601b6338 ("[SCSI] zfcp: restore refcount check on port_remove")
Cc: <stable@vger.kernel.org> #3.7+
Reviewed-by: Jens Remus <jremus@linux.ibm.com>
Reviewed-by: Benjamin Block <bblock@linux.ibm.com>
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
Diffstat (limited to 'drivers/s390/scsi/zfcp_sysfs.c')
-rw-r--r-- | drivers/s390/scsi/zfcp_sysfs.c | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/drivers/s390/scsi/zfcp_sysfs.c b/drivers/s390/scsi/zfcp_sysfs.c index b277be6f7611..2d78732b270b 100644 --- a/drivers/s390/scsi/zfcp_sysfs.c +++ b/drivers/s390/scsi/zfcp_sysfs.c @@ -261,6 +261,7 @@ static ssize_t zfcp_sysfs_port_remove_store(struct device *dev, if (atomic_read(&port->units) > 0) { retval = -EBUSY; mutex_unlock(&zfcp_sysfs_port_units_mutex); + put_device(&port->dev); /* undo zfcp_get_port_by_wwpn() */ goto out; } /* port is about to be removed, so no more unit_add */ |