Skip to content

Commit

Permalink
snic: add scsi host after determining max IOs.
Browse files Browse the repository at this point in the history
scsi host is added after negotiating the max number of IOs with
Firmware.

Signed-off-by: Narsimhulu Musini <nmusini@cisco.com>
Signed-off-by: Sesidhar Baddela <sebaddel@cisco.com>
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
  • Loading branch information
Narsimhulu Musini authored and Martin K. Petersen committed Apr 11, 2016
1 parent 0da8519 commit be2a266
Showing 1 changed file with 17 additions and 18 deletions.
35 changes: 17 additions & 18 deletions drivers/scsi/snic/snic_main.c
Original file line number Diff line number Diff line change
Expand Up @@ -631,19 +631,6 @@ snic_probe(struct pci_dev *pdev, const struct pci_device_id *ent)
goto err_free_tmreq_pool;
}

/*
* Initialization done with PCI system, hardware, firmware.
* Add shost to SCSI
*/
ret = snic_add_host(shost, pdev);
if (ret) {
SNIC_HOST_ERR(shost,
"Adding scsi host Failed ... exiting. %d\n",
ret);

goto err_notify_unset;
}

spin_lock_irqsave(&snic_glob->snic_list_lock, flags);
list_add_tail(&snic->list, &snic_glob->snic_list);
spin_unlock_irqrestore(&snic_glob->snic_list_lock, flags);
Expand Down Expand Up @@ -676,8 +663,6 @@ snic_probe(struct pci_dev *pdev, const struct pci_device_id *ent)
for (i = 0; i < snic->intr_count; i++)
svnic_intr_unmask(&snic->intr[i]);

snic_set_state(snic, SNIC_ONLINE);

/* Get snic params */
ret = snic_get_conf(snic);
if (ret) {
Expand All @@ -688,6 +673,21 @@ snic_probe(struct pci_dev *pdev, const struct pci_device_id *ent)
goto err_get_conf;
}

/*
* Initialization done with PCI system, hardware, firmware.
* Add shost to SCSI
*/
ret = snic_add_host(shost, pdev);
if (ret) {
SNIC_HOST_ERR(shost,
"Adding scsi host Failed ... exiting. %d\n",
ret);

goto err_get_conf;
}

snic_set_state(snic, SNIC_ONLINE);

ret = snic_disc_start(snic);
if (ret) {
SNIC_HOST_ERR(shost, "snic_probe:Discovery Failed w err = %d\n",
Expand All @@ -712,6 +712,8 @@ snic_probe(struct pci_dev *pdev, const struct pci_device_id *ent)
svnic_dev_disable(snic->vdev);

err_vdev_enable:
svnic_dev_notify_unset(snic->vdev);

for (i = 0; i < snic->wq_count; i++) {
int rc = 0;

Expand All @@ -725,9 +727,6 @@ snic_probe(struct pci_dev *pdev, const struct pci_device_id *ent)
}
snic_del_host(snic->shost);

err_notify_unset:
svnic_dev_notify_unset(snic->vdev);

err_free_tmreq_pool:
mempool_destroy(snic->req_pool[SNIC_REQ_TM_CACHE]);

Expand Down

0 comments on commit be2a266

Please sign in to comment.