[SCSI] bfa: Driver initialization and model description fix
- Moved FCS initialization, which internally does the im_port creation as well as the scsi_host creation before bfa_init. Once the bfa_init is complete & successful: - Reset the FCS base port cfg params such as pwwn/nwwn and setup fc host params - based on the values learned during the ioc getattr request. - Change needed to support BSG commands even on bfa init failure. - Model description fixes for Brocade adapters. Signed-off-by: Krishna Gudipati <kgudipat@brocade.com> Signed-off-by: James Bottomley <JBottomley@Parallels.com>
This commit is contained in:

committed by
James Bottomley

parent
e2187d7f38
commit
75332a70a8
@@ -677,8 +677,10 @@ bfad_im_model_desc_show(struct device *dev, struct device_attribute *attr,
|
||||
struct bfad_s *bfad = im_port->bfad;
|
||||
char model[BFA_ADAPTER_MODEL_NAME_LEN];
|
||||
char model_descr[BFA_ADAPTER_MODEL_DESCR_LEN];
|
||||
int nports = 0;
|
||||
|
||||
bfa_get_adapter_model(&bfad->bfa, model);
|
||||
nports = bfa_get_nports(&bfad->bfa);
|
||||
if (!strcmp(model, "Brocade-425"))
|
||||
snprintf(model_descr, BFA_ADAPTER_MODEL_DESCR_LEN,
|
||||
"Brocade 4Gbps PCIe dual port FC HBA");
|
||||
@@ -687,10 +689,10 @@ bfad_im_model_desc_show(struct device *dev, struct device_attribute *attr,
|
||||
"Brocade 8Gbps PCIe dual port FC HBA");
|
||||
else if (!strcmp(model, "Brocade-42B"))
|
||||
snprintf(model_descr, BFA_ADAPTER_MODEL_DESCR_LEN,
|
||||
"HP 4Gbps PCIe dual port FC HBA");
|
||||
"Brocade 4Gbps PCIe dual port FC HBA for HP");
|
||||
else if (!strcmp(model, "Brocade-82B"))
|
||||
snprintf(model_descr, BFA_ADAPTER_MODEL_DESCR_LEN,
|
||||
"HP 8Gbps PCIe dual port FC HBA");
|
||||
"Brocade 8Gbps PCIe dual port FC HBA for HP");
|
||||
else if (!strcmp(model, "Brocade-1010"))
|
||||
snprintf(model_descr, BFA_ADAPTER_MODEL_DESCR_LEN,
|
||||
"Brocade 10Gbps single port CNA");
|
||||
@@ -699,7 +701,7 @@ bfad_im_model_desc_show(struct device *dev, struct device_attribute *attr,
|
||||
"Brocade 10Gbps dual port CNA");
|
||||
else if (!strcmp(model, "Brocade-1007"))
|
||||
snprintf(model_descr, BFA_ADAPTER_MODEL_DESCR_LEN,
|
||||
"Brocade 10Gbps CNA");
|
||||
"Brocade 10Gbps CNA for IBM Blade Center");
|
||||
else if (!strcmp(model, "Brocade-415"))
|
||||
snprintf(model_descr, BFA_ADAPTER_MODEL_DESCR_LEN,
|
||||
"Brocade 4Gbps PCIe single port FC HBA");
|
||||
@@ -708,17 +710,45 @@ bfad_im_model_desc_show(struct device *dev, struct device_attribute *attr,
|
||||
"Brocade 8Gbps PCIe single port FC HBA");
|
||||
else if (!strcmp(model, "Brocade-41B"))
|
||||
snprintf(model_descr, BFA_ADAPTER_MODEL_DESCR_LEN,
|
||||
"HP 4Gbps PCIe single port FC HBA");
|
||||
"Brocade 4Gbps PCIe single port FC HBA for HP");
|
||||
else if (!strcmp(model, "Brocade-81B"))
|
||||
snprintf(model_descr, BFA_ADAPTER_MODEL_DESCR_LEN,
|
||||
"HP 8Gbps PCIe single port FC HBA");
|
||||
"Brocade 8Gbps PCIe single port FC HBA for HP");
|
||||
else if (!strcmp(model, "Brocade-804"))
|
||||
snprintf(model_descr, BFA_ADAPTER_MODEL_DESCR_LEN,
|
||||
"HP Bladesystem C-class 8Gbps FC HBA");
|
||||
else if (!strcmp(model, "Brocade-902"))
|
||||
"Brocade 8Gbps FC HBA for HP Bladesystem C-class");
|
||||
else if (!strcmp(model, "Brocade-902") ||
|
||||
!strcmp(model, "Brocade-1741"))
|
||||
snprintf(model_descr, BFA_ADAPTER_MODEL_DESCR_LEN,
|
||||
"Brocade 10Gbps CNA");
|
||||
else
|
||||
"Brocade 10Gbps CNA for Dell M-Series Blade Servers");
|
||||
else if (strstr(model, "Brocade-1560")) {
|
||||
if (nports == 1)
|
||||
snprintf(model_descr, BFA_ADAPTER_MODEL_DESCR_LEN,
|
||||
"Brocade 16Gbps PCIe single port FC HBA");
|
||||
else
|
||||
snprintf(model_descr, BFA_ADAPTER_MODEL_DESCR_LEN,
|
||||
"Brocade 16Gbps PCIe dual port FC HBA");
|
||||
} else if (strstr(model, "Brocade-1710")) {
|
||||
if (nports == 1)
|
||||
snprintf(model_descr, BFA_ADAPTER_MODEL_DESCR_LEN,
|
||||
"Brocade 10Gbps single port CNA");
|
||||
else
|
||||
snprintf(model_descr, BFA_ADAPTER_MODEL_DESCR_LEN,
|
||||
"Brocade 10Gbps dual port CNA");
|
||||
} else if (strstr(model, "Brocade-1860")) {
|
||||
if (nports == 1 && bfa_ioc_is_cna(&bfad->bfa.ioc))
|
||||
snprintf(model_descr, BFA_ADAPTER_MODEL_DESCR_LEN,
|
||||
"Brocade 10Gbps single port CNA");
|
||||
else if (nports == 1 && !bfa_ioc_is_cna(&bfad->bfa.ioc))
|
||||
snprintf(model_descr, BFA_ADAPTER_MODEL_DESCR_LEN,
|
||||
"Brocade 16Gbps PCIe single port FC HBA");
|
||||
else if (nports == 2 && bfa_ioc_is_cna(&bfad->bfa.ioc))
|
||||
snprintf(model_descr, BFA_ADAPTER_MODEL_DESCR_LEN,
|
||||
"Brocade 10Gbps dual port CNA");
|
||||
else if (nports == 2 && !bfa_ioc_is_cna(&bfad->bfa.ioc))
|
||||
snprintf(model_descr, BFA_ADAPTER_MODEL_DESCR_LEN,
|
||||
"Brocade 16Gbps PCIe dual port FC HBA");
|
||||
} else
|
||||
snprintf(model_descr, BFA_ADAPTER_MODEL_DESCR_LEN,
|
||||
"Invalid Model");
|
||||
|
||||
|
Reference in New Issue
Block a user