diff options
Diffstat (limited to 'drivers/scsi/qla2xxx/qla_attr.c')
-rw-r--r-- | drivers/scsi/qla2xxx/qla_attr.c | 13 |
1 files changed, 10 insertions, 3 deletions
diff --git a/drivers/scsi/qla2xxx/qla_attr.c b/drivers/scsi/qla2xxx/qla_attr.c index 287690853caf..8dd88fc1244a 100644 --- a/drivers/scsi/qla2xxx/qla_attr.c +++ b/drivers/scsi/qla2xxx/qla_attr.c | |||
@@ -70,6 +70,9 @@ qla2x00_sysfs_write_fw_dump(struct kobject *kobj, | |||
70 | case 2: | 70 | case 2: |
71 | qla2x00_alloc_fw_dump(ha); | 71 | qla2x00_alloc_fw_dump(ha); |
72 | break; | 72 | break; |
73 | case 3: | ||
74 | qla2x00_system_error(ha); | ||
75 | break; | ||
73 | } | 76 | } |
74 | return (count); | 77 | return (count); |
75 | } | 78 | } |
@@ -886,9 +889,13 @@ qla2x00_get_host_speed(struct Scsi_Host *shost) | |||
886 | static void | 889 | static void |
887 | qla2x00_get_host_port_type(struct Scsi_Host *shost) | 890 | qla2x00_get_host_port_type(struct Scsi_Host *shost) |
888 | { | 891 | { |
889 | scsi_qla_host_t *ha = to_qla_parent(shost_priv(shost)); | 892 | scsi_qla_host_t *ha = shost_priv(shost); |
890 | uint32_t port_type = FC_PORTTYPE_UNKNOWN; | 893 | uint32_t port_type = FC_PORTTYPE_UNKNOWN; |
891 | 894 | ||
895 | if (ha->parent) { | ||
896 | fc_host_port_type(shost) = FC_PORTTYPE_NPIV; | ||
897 | return; | ||
898 | } | ||
892 | switch (ha->current_topology) { | 899 | switch (ha->current_topology) { |
893 | case ISP_CFG_NL: | 900 | case ISP_CFG_NL: |
894 | port_type = FC_PORTTYPE_LPORT; | 901 | port_type = FC_PORTTYPE_LPORT; |
@@ -1172,10 +1179,10 @@ qla24xx_vport_delete(struct fc_vport *fc_vport) | |||
1172 | qla24xx_disable_vp(vha); | 1179 | qla24xx_disable_vp(vha); |
1173 | qla24xx_deallocate_vp_id(vha); | 1180 | qla24xx_deallocate_vp_id(vha); |
1174 | 1181 | ||
1175 | down(&ha->vport_sem); | 1182 | mutex_lock(&ha->vport_lock); |
1176 | ha->cur_vport_count--; | 1183 | ha->cur_vport_count--; |
1177 | clear_bit(vha->vp_idx, ha->vp_idx_map); | 1184 | clear_bit(vha->vp_idx, ha->vp_idx_map); |
1178 | up(&ha->vport_sem); | 1185 | mutex_unlock(&ha->vport_lock); |
1179 | 1186 | ||
1180 | kfree(vha->node_name); | 1187 | kfree(vha->node_name); |
1181 | kfree(vha->port_name); | 1188 | kfree(vha->port_name); |