diff options
Diffstat (limited to 'drivers/scsi/qla2xxx/qla_gs.c')
-rw-r--r-- | drivers/scsi/qla2xxx/qla_gs.c | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/drivers/scsi/qla2xxx/qla_gs.c b/drivers/scsi/qla2xxx/qla_gs.c index a7e23583f899..eb0784c9ff83 100644 --- a/drivers/scsi/qla2xxx/qla_gs.c +++ b/drivers/scsi/qla2xxx/qla_gs.c | |||
@@ -1517,7 +1517,7 @@ qla2x00_fdmi_rpa(scsi_qla_host_t *ha) | |||
1517 | 1517 | ||
1518 | /* Attributes */ | 1518 | /* Attributes */ |
1519 | ct_req->req.rpa.attrs.count = | 1519 | ct_req->req.rpa.attrs.count = |
1520 | __constant_cpu_to_be32(FDMI_PORT_ATTR_COUNT); | 1520 | __constant_cpu_to_be32(FDMI_PORT_ATTR_COUNT - 1); |
1521 | entries = ct_req->req.rpa.port_name; | 1521 | entries = ct_req->req.rpa.port_name; |
1522 | 1522 | ||
1523 | /* FC4 types. */ | 1523 | /* FC4 types. */ |
@@ -1600,7 +1600,7 @@ qla2x00_fdmi_rpa(scsi_qla_host_t *ha) | |||
1600 | /* OS device name. */ | 1600 | /* OS device name. */ |
1601 | eiter = (struct ct_fdmi_port_attr *) (entries + size); | 1601 | eiter = (struct ct_fdmi_port_attr *) (entries + size); |
1602 | eiter->type = __constant_cpu_to_be16(FDMI_PORT_OS_DEVICE_NAME); | 1602 | eiter->type = __constant_cpu_to_be16(FDMI_PORT_OS_DEVICE_NAME); |
1603 | sprintf(eiter->a.os_dev_name, "/proc/scsi/qla2xxx/%ld", ha->host_no); | 1603 | strcpy(eiter->a.os_dev_name, QLA2XXX_DRIVER_NAME); |
1604 | alen = strlen(eiter->a.os_dev_name); | 1604 | alen = strlen(eiter->a.os_dev_name); |
1605 | alen += (alen & 3) ? (4 - (alen & 3)) : 4; | 1605 | alen += (alen & 3) ? (4 - (alen & 3)) : 4; |
1606 | eiter->len = cpu_to_be16(4 + alen); | 1606 | eiter->len = cpu_to_be16(4 + alen); |
@@ -1611,6 +1611,8 @@ qla2x00_fdmi_rpa(scsi_qla_host_t *ha) | |||
1611 | 1611 | ||
1612 | /* Hostname. */ | 1612 | /* Hostname. */ |
1613 | if (strlen(fc_host_system_hostname(ha->host))) { | 1613 | if (strlen(fc_host_system_hostname(ha->host))) { |
1614 | ct_req->req.rpa.attrs.count = | ||
1615 | __constant_cpu_to_be32(FDMI_PORT_ATTR_COUNT); | ||
1614 | eiter = (struct ct_fdmi_port_attr *) (entries + size); | 1616 | eiter = (struct ct_fdmi_port_attr *) (entries + size); |
1615 | eiter->type = __constant_cpu_to_be16(FDMI_PORT_HOST_NAME); | 1617 | eiter->type = __constant_cpu_to_be16(FDMI_PORT_HOST_NAME); |
1616 | snprintf(eiter->a.host_name, sizeof(eiter->a.host_name), | 1618 | snprintf(eiter->a.host_name, sizeof(eiter->a.host_name), |