Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/horms/ipvs-2.6
[pandora-kernel.git] / drivers / scsi / bfa / bfad_im.c
index c2b3617..f2bf812 100644 (file)
@@ -175,21 +175,11 @@ bfad_im_info(struct Scsi_Host *shost)
        struct bfad_im_port_s *im_port =
                        (struct bfad_im_port_s *) shost->hostdata[0];
        struct bfad_s *bfad = im_port->bfad;
-       struct bfa_s *bfa = &bfad->bfa;
-       struct bfa_ioc_s *ioc = &bfa->ioc;
-       char model[BFA_ADAPTER_MODEL_NAME_LEN];
-
-       bfa_get_adapter_model(bfa, model);
 
        memset(bfa_buf, 0, sizeof(bfa_buf));
-       if (ioc->ctdev && !ioc->fcmode)
-               snprintf(bfa_buf, sizeof(bfa_buf),
-               "Brocade FCOE Adapter, " "model: %s hwpath: %s driver: %s",
-                model, bfad->pci_name, BFAD_DRIVER_VERSION);
-       else
-               snprintf(bfa_buf, sizeof(bfa_buf),
-               "Brocade FC Adapter, " "model: %s hwpath: %s driver: %s",
-               model, bfad->pci_name, BFAD_DRIVER_VERSION);
+       snprintf(bfa_buf, sizeof(bfa_buf),
+               "Brocade FC/FCOE Adapter, " "hwpath: %s driver: %s",
+               bfad->pci_name, BFAD_DRIVER_VERSION);
 
        return bfa_buf;
 }
@@ -572,9 +562,6 @@ bfad_im_scsi_host_alloc(struct bfad_s *bfad, struct bfad_im_port_s *im_port,
                goto out_fc_rel;
        }
 
-       /* setup host fixed attribute if the lk supports */
-       bfad_fc_host_init(im_port);
-
        return 0;
 
 out_fc_rel:
@@ -713,6 +700,9 @@ bfad_scsi_host_alloc(struct bfad_im_port_s *im_port, struct bfad_s *bfad)
        else
                sht = &bfad_im_vport_template;
 
+       if (max_xfer_size != BFAD_MAX_SECTORS >> 1)
+               sht->max_sectors = max_xfer_size << 1;
+
        sht->sg_tablesize = bfad->cfg_data.io_max_sge;
 
        return scsi_host_alloc(sht, sizeof(unsigned long));
@@ -790,7 +780,8 @@ struct scsi_host_template bfad_im_scsi_host_template = {
        .cmd_per_lun = 3,
        .use_clustering = ENABLE_CLUSTERING,
        .shost_attrs = bfad_im_host_attrs,
-       .max_sectors = 0xFFFF,
+       .max_sectors = BFAD_MAX_SECTORS,
+       .vendor_id = BFA_PCI_VENDOR_ID_BROCADE,
 };
 
 struct scsi_host_template bfad_im_vport_template = {
@@ -811,7 +802,7 @@ struct scsi_host_template bfad_im_vport_template = {
        .cmd_per_lun = 3,
        .use_clustering = ENABLE_CLUSTERING,
        .shost_attrs = bfad_im_vport_attrs,
-       .max_sectors = 0xFFFF,
+       .max_sectors = BFAD_MAX_SECTORS,
 };
 
 bfa_status_t
@@ -925,7 +916,10 @@ bfad_im_supported_speeds(struct bfa_s *bfa)
                return 0;
 
        bfa_ioc_get_attr(&bfa->ioc, ioc_attr);
-       if (ioc_attr->adapter_attr.max_speed == BFA_PORT_SPEED_8GBPS) {
+       if (ioc_attr->adapter_attr.max_speed == BFA_PORT_SPEED_16GBPS)
+               supported_speed |=  FC_PORTSPEED_16GBIT | FC_PORTSPEED_8GBIT |
+                               FC_PORTSPEED_4GBIT | FC_PORTSPEED_2GBIT;
+       else if (ioc_attr->adapter_attr.max_speed == BFA_PORT_SPEED_8GBPS) {
                if (ioc_attr->adapter_attr.is_mezz) {
                        supported_speed |= FC_PORTSPEED_8GBIT |
                                FC_PORTSPEED_4GBIT |