| From d27e5e07f9c49bf2a6a4ef254ce531c1b4fb5a38 Mon Sep 17 00:00:00 2001 |
| From: Steffen Maier <maier@linux.ibm.com> |
| Date: Thu, 23 May 2019 15:23:45 +0200 |
| Subject: scsi: zfcp: fix missing zfcp_port reference put on -EBUSY from port_remove |
| |
| From: Steffen Maier <maier@linux.ibm.com> |
| |
| commit d27e5e07f9c49bf2a6a4ef254ce531c1b4fb5a38 upstream. |
| |
| 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> |
| Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> |
| |
| --- |
| drivers/s390/scsi/zfcp_sysfs.c | 1 + |
| 1 file changed, 1 insertion(+) |
| |
| --- 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_st |
| 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 */ |