diff options
author | Mike Christie <michaelc@cs.wisc.edu> | 2013-05-06 13:06:56 -0400 |
---|---|---|
committer | James Bottomley <JBottomley@Parallels.com> | 2013-05-10 10:47:53 -0400 |
commit | 8526cb114f771851d84425d85d8735a6e0816ba2 (patch) | |
tree | dabc65e70ea5ca635f9fae207da3e717f7a2bf87 /include/scsi | |
parent | aa9f8328fc51460e15da129caf622b6560fa8c99 (diff) |
[SCSI] iscsi class, qla4xxx: fix sess/conn refcounting when find fns are used
This fixes a bug where the iscsi class/driver did not do a put_device
when a sess/conn device was found. This also simplifies the interface
by not having to pass in some arguments that were duplicated and did
not need to be exported.
Reported-by: Zhao Hongjiang <zhaohongjiang@huawei.com>
Signed-off-by: Mike Christie <michaelc@cs.wisc.edu>
Acked-by: Vikas Chaudhary <vikas.chaudhary@qlogic.com>
Signed-off-by: James Bottomley <JBottomley@Parallels.com>
Diffstat (limited to 'include/scsi')
-rw-r--r-- | include/scsi/scsi_transport_iscsi.h | 8 |
1 files changed, 2 insertions, 6 deletions
diff --git a/include/scsi/scsi_transport_iscsi.h b/include/scsi/scsi_transport_iscsi.h index 4a58cca2ecc1..d0f1602985e7 100644 --- a/include/scsi/scsi_transport_iscsi.h +++ b/include/scsi/scsi_transport_iscsi.h | |||
@@ -471,14 +471,10 @@ iscsi_destroy_flashnode_sess(struct iscsi_bus_flash_session *fnode_sess); | |||
471 | extern void iscsi_destroy_all_flashnode(struct Scsi_Host *shost); | 471 | extern void iscsi_destroy_all_flashnode(struct Scsi_Host *shost); |
472 | extern int iscsi_flashnode_bus_match(struct device *dev, | 472 | extern int iscsi_flashnode_bus_match(struct device *dev, |
473 | struct device_driver *drv); | 473 | struct device_driver *drv); |
474 | extern int iscsi_is_flashnode_conn_dev(struct device *dev, void *data); | ||
475 | |||
476 | extern struct device * | 474 | extern struct device * |
477 | iscsi_find_flashnode_sess(struct Scsi_Host *shost, void *data, | 475 | iscsi_find_flashnode_sess(struct Scsi_Host *shost, void *data, |
478 | int (*fn)(struct device *dev, void *data)); | 476 | int (*fn)(struct device *dev, void *data)); |
479 | |||
480 | extern struct device * | 477 | extern struct device * |
481 | iscsi_find_flashnode_conn(struct iscsi_bus_flash_session *fnode_sess, | 478 | iscsi_find_flashnode_conn(struct iscsi_bus_flash_session *fnode_sess); |
482 | void *data, | 479 | |
483 | int (*fn)(struct device *dev, void *data)); | ||
484 | #endif | 480 | #endif |