diff options
Diffstat (limited to 'drivers/scsi/libiscsi.c')
-rw-r--r-- | drivers/scsi/libiscsi.c | 40 |
1 files changed, 40 insertions, 0 deletions
diff --git a/drivers/scsi/libiscsi.c b/drivers/scsi/libiscsi.c index 3f5b9b445b29..d430e227e9b7 100644 --- a/drivers/scsi/libiscsi.c +++ b/drivers/scsi/libiscsi.c | |||
@@ -1462,6 +1462,7 @@ void iscsi_session_teardown(struct iscsi_cls_session *cls_session) | |||
1462 | iscsi_pool_free(&session->cmdpool, (void**)session->cmds); | 1462 | iscsi_pool_free(&session->cmdpool, (void**)session->cmds); |
1463 | 1463 | ||
1464 | kfree(session->targetname); | 1464 | kfree(session->targetname); |
1465 | kfree(session->hwaddress); | ||
1465 | 1466 | ||
1466 | iscsi_destroy_session(cls_session); | 1467 | iscsi_destroy_session(cls_session); |
1467 | scsi_host_put(shost); | 1468 | scsi_host_put(shost); |
@@ -1990,6 +1991,45 @@ int iscsi_conn_get_param(struct iscsi_cls_conn *cls_conn, | |||
1990 | } | 1991 | } |
1991 | EXPORT_SYMBOL_GPL(iscsi_conn_get_param); | 1992 | EXPORT_SYMBOL_GPL(iscsi_conn_get_param); |
1992 | 1993 | ||
1994 | int iscsi_host_get_param(struct Scsi_Host *shost, enum iscsi_host_param param, | ||
1995 | char *buf) | ||
1996 | { | ||
1997 | struct iscsi_session *session = iscsi_hostdata(shost->hostdata); | ||
1998 | int len; | ||
1999 | |||
2000 | switch (param) { | ||
2001 | case ISCSI_HOST_PARAM_HWADDRESS: | ||
2002 | if (!session->hwaddress) | ||
2003 | len = sprintf(buf, "%s\n", "default"); | ||
2004 | else | ||
2005 | len = sprintf(buf, "%s\n", session->hwaddress); | ||
2006 | break; | ||
2007 | default: | ||
2008 | return -ENOSYS; | ||
2009 | } | ||
2010 | |||
2011 | return len; | ||
2012 | } | ||
2013 | EXPORT_SYMBOL_GPL(iscsi_host_get_param); | ||
2014 | |||
2015 | int iscsi_host_set_param(struct Scsi_Host *shost, enum iscsi_host_param param, | ||
2016 | char *buf, int buflen) | ||
2017 | { | ||
2018 | struct iscsi_session *session = iscsi_hostdata(shost->hostdata); | ||
2019 | |||
2020 | switch (param) { | ||
2021 | case ISCSI_HOST_PARAM_HWADDRESS: | ||
2022 | if (!session->hwaddress) | ||
2023 | session->hwaddress = kstrdup(buf, GFP_KERNEL); | ||
2024 | break; | ||
2025 | default: | ||
2026 | return -ENOSYS; | ||
2027 | } | ||
2028 | |||
2029 | return 0; | ||
2030 | } | ||
2031 | EXPORT_SYMBOL_GPL(iscsi_host_set_param); | ||
2032 | |||
1993 | MODULE_AUTHOR("Mike Christie"); | 2033 | MODULE_AUTHOR("Mike Christie"); |
1994 | MODULE_DESCRIPTION("iSCSI library functions"); | 2034 | MODULE_DESCRIPTION("iSCSI library functions"); |
1995 | MODULE_LICENSE("GPL"); | 2035 | MODULE_LICENSE("GPL"); |