aboutsummaryrefslogtreecommitdiffstats
path: root/drivers
diff options
context:
space:
mode:
Diffstat (limited to 'drivers')
-rw-r--r--drivers/infiniband/ulp/iser/iscsi_iser.c1
-rw-r--r--drivers/scsi/iscsi_tcp.c3
-rw-r--r--drivers/scsi/libiscsi.c11
-rw-r--r--drivers/scsi/qla4xxx/ql4_os.c3
-rw-r--r--drivers/scsi/scsi_transport_iscsi.c6
5 files changed, 20 insertions, 4 deletions
diff --git a/drivers/infiniband/ulp/iser/iscsi_iser.c b/drivers/infiniband/ulp/iser/iscsi_iser.c
index bed583c426e6..1bf173decade 100644
--- a/drivers/infiniband/ulp/iser/iscsi_iser.c
+++ b/drivers/infiniband/ulp/iser/iscsi_iser.c
@@ -583,6 +583,7 @@ static struct iscsi_transport iscsi_iser_transport = {
583 ISCSI_USERNAME | ISCSI_PASSWORD | 583 ISCSI_USERNAME | ISCSI_PASSWORD |
584 ISCSI_USERNAME_IN | ISCSI_PASSWORD_IN, 584 ISCSI_USERNAME_IN | ISCSI_PASSWORD_IN,
585 .host_param_mask = ISCSI_HOST_HWADDRESS | 585 .host_param_mask = ISCSI_HOST_HWADDRESS |
586 ISCSI_HOST_NETDEV_NAME |
586 ISCSI_HOST_INITIATOR_NAME, 587 ISCSI_HOST_INITIATOR_NAME,
587 .host_template = &iscsi_iser_sht, 588 .host_template = &iscsi_iser_sht,
588 .conndata_size = sizeof(struct iscsi_conn), 589 .conndata_size = sizeof(struct iscsi_conn),
diff --git a/drivers/scsi/iscsi_tcp.c b/drivers/scsi/iscsi_tcp.c
index da66fb524b5b..d5a6527b3b3d 100644
--- a/drivers/scsi/iscsi_tcp.c
+++ b/drivers/scsi/iscsi_tcp.c
@@ -2303,7 +2303,8 @@ static struct iscsi_transport iscsi_tcp_transport = {
2303 ISCSI_USERNAME | ISCSI_PASSWORD | 2303 ISCSI_USERNAME | ISCSI_PASSWORD |
2304 ISCSI_USERNAME_IN | ISCSI_PASSWORD_IN, 2304 ISCSI_USERNAME_IN | ISCSI_PASSWORD_IN,
2305 .host_param_mask = ISCSI_HOST_HWADDRESS | ISCSI_HOST_IPADDRESS | 2305 .host_param_mask = ISCSI_HOST_HWADDRESS | ISCSI_HOST_IPADDRESS |
2306 ISCSI_HOST_INITIATOR_NAME, 2306 ISCSI_HOST_INITIATOR_NAME |
2307 ISCSI_HOST_NETDEV_NAME,
2307 .host_template = &iscsi_sht, 2308 .host_template = &iscsi_sht,
2308 .conndata_size = sizeof(struct iscsi_conn), 2309 .conndata_size = sizeof(struct iscsi_conn),
2309 .max_conn = 1, 2310 .max_conn = 1,
diff --git a/drivers/scsi/libiscsi.c b/drivers/scsi/libiscsi.c
index 1632866f52cc..865dd5739f0e 100644
--- a/drivers/scsi/libiscsi.c
+++ b/drivers/scsi/libiscsi.c
@@ -1483,6 +1483,7 @@ void iscsi_session_teardown(struct iscsi_cls_session *cls_session)
1483 kfree(session->username); 1483 kfree(session->username);
1484 kfree(session->username_in); 1484 kfree(session->username_in);
1485 kfree(session->targetname); 1485 kfree(session->targetname);
1486 kfree(session->netdev);
1486 kfree(session->hwaddress); 1487 kfree(session->hwaddress);
1487 kfree(session->initiatorname); 1488 kfree(session->initiatorname);
1488 1489
@@ -2040,6 +2041,12 @@ int iscsi_host_get_param(struct Scsi_Host *shost, enum iscsi_host_param param,
2040 int len; 2041 int len;
2041 2042
2042 switch (param) { 2043 switch (param) {
2044 case ISCSI_HOST_PARAM_NETDEV_NAME:
2045 if (!session->netdev)
2046 len = sprintf(buf, "%s\n", "default");
2047 else
2048 len = sprintf(buf, "%s\n", session->netdev);
2049 break;
2043 case ISCSI_HOST_PARAM_HWADDRESS: 2050 case ISCSI_HOST_PARAM_HWADDRESS:
2044 if (!session->hwaddress) 2051 if (!session->hwaddress)
2045 len = sprintf(buf, "%s\n", "default"); 2052 len = sprintf(buf, "%s\n", "default");
@@ -2067,6 +2074,10 @@ int iscsi_host_set_param(struct Scsi_Host *shost, enum iscsi_host_param param,
2067 struct iscsi_session *session = iscsi_hostdata(shost->hostdata); 2074 struct iscsi_session *session = iscsi_hostdata(shost->hostdata);
2068 2075
2069 switch (param) { 2076 switch (param) {
2077 case ISCSI_HOST_PARAM_NETDEV_NAME:
2078 if (!session->netdev)
2079 session->netdev = kstrdup(buf, GFP_KERNEL);
2080 break;
2070 case ISCSI_HOST_PARAM_HWADDRESS: 2081 case ISCSI_HOST_PARAM_HWADDRESS:
2071 if (!session->hwaddress) 2082 if (!session->hwaddress)
2072 session->hwaddress = kstrdup(buf, GFP_KERNEL); 2083 session->hwaddress = kstrdup(buf, GFP_KERNEL);
diff --git a/drivers/scsi/qla4xxx/ql4_os.c b/drivers/scsi/qla4xxx/ql4_os.c
index b87b460832ea..e69160a7bc60 100644
--- a/drivers/scsi/qla4xxx/ql4_os.c
+++ b/drivers/scsi/qla4xxx/ql4_os.c
@@ -102,7 +102,8 @@ static struct scsi_host_template qla4xxx_driver_template = {
102static struct iscsi_transport qla4xxx_iscsi_transport = { 102static struct iscsi_transport qla4xxx_iscsi_transport = {
103 .owner = THIS_MODULE, 103 .owner = THIS_MODULE,
104 .name = DRIVER_NAME, 104 .name = DRIVER_NAME,
105 .caps = CAP_FW_DB | CAP_SENDTARGETS_OFFLOAD, 105 .caps = CAP_FW_DB | CAP_SENDTARGETS_OFFLOAD |
106 CAP_DATA_PATH_OFFLOAD,
106 .param_mask = ISCSI_CONN_PORT | ISCSI_CONN_ADDRESS | 107 .param_mask = ISCSI_CONN_PORT | ISCSI_CONN_ADDRESS |
107 ISCSI_TARGET_NAME | ISCSI_TPGT, 108 ISCSI_TARGET_NAME | ISCSI_TPGT,
108 .host_param_mask = ISCSI_HOST_HWADDRESS | 109 .host_param_mask = ISCSI_HOST_HWADDRESS |
diff --git a/drivers/scsi/scsi_transport_iscsi.c b/drivers/scsi/scsi_transport_iscsi.c
index 9b54eea20560..34c1860a259d 100644
--- a/drivers/scsi/scsi_transport_iscsi.c
+++ b/drivers/scsi/scsi_transport_iscsi.c
@@ -32,7 +32,7 @@
32 32
33#define ISCSI_SESSION_ATTRS 15 33#define ISCSI_SESSION_ATTRS 15
34#define ISCSI_CONN_ATTRS 11 34#define ISCSI_CONN_ATTRS 11
35#define ISCSI_HOST_ATTRS 3 35#define ISCSI_HOST_ATTRS 4
36#define ISCSI_TRANSPORT_VERSION "2.0-724" 36#define ISCSI_TRANSPORT_VERSION "2.0-724"
37 37
38struct iscsi_internal { 38struct iscsi_internal {
@@ -1261,8 +1261,9 @@ show_host_param_##param(struct class_device *cdev, char *buf) \
1261static ISCSI_CLASS_ATTR(host, field, S_IRUGO, show_host_param_##param, \ 1261static ISCSI_CLASS_ATTR(host, field, S_IRUGO, show_host_param_##param, \
1262 NULL); 1262 NULL);
1263 1263
1264iscsi_host_attr(ipaddress, ISCSI_HOST_PARAM_IPADDRESS); 1264iscsi_host_attr(netdev, ISCSI_HOST_PARAM_NETDEV_NAME);
1265iscsi_host_attr(hwaddress, ISCSI_HOST_PARAM_HWADDRESS); 1265iscsi_host_attr(hwaddress, ISCSI_HOST_PARAM_HWADDRESS);
1266iscsi_host_attr(ipaddress, ISCSI_HOST_PARAM_IPADDRESS);
1266iscsi_host_attr(initiatorname, ISCSI_HOST_PARAM_INITIATOR_NAME); 1267iscsi_host_attr(initiatorname, ISCSI_HOST_PARAM_INITIATOR_NAME);
1267 1268
1268#define SETUP_PRIV_SESSION_RD_ATTR(field) \ 1269#define SETUP_PRIV_SESSION_RD_ATTR(field) \
@@ -1399,6 +1400,7 @@ iscsi_register_transport(struct iscsi_transport *tt)
1399 priv->t.host_size = sizeof(struct iscsi_host); 1400 priv->t.host_size = sizeof(struct iscsi_host);
1400 transport_container_register(&priv->t.host_attrs); 1401 transport_container_register(&priv->t.host_attrs);
1401 1402
1403 SETUP_HOST_RD_ATTR(netdev, ISCSI_HOST_NETDEV_NAME);
1402 SETUP_HOST_RD_ATTR(ipaddress, ISCSI_HOST_IPADDRESS); 1404 SETUP_HOST_RD_ATTR(ipaddress, ISCSI_HOST_IPADDRESS);
1403 SETUP_HOST_RD_ATTR(hwaddress, ISCSI_HOST_HWADDRESS); 1405 SETUP_HOST_RD_ATTR(hwaddress, ISCSI_HOST_HWADDRESS);
1404 SETUP_HOST_RD_ATTR(initiatorname, ISCSI_HOST_INITIATOR_NAME); 1406 SETUP_HOST_RD_ATTR(initiatorname, ISCSI_HOST_INITIATOR_NAME);