Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

snic: add scsi host after determining max IOs.

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>

authored by

Narsimhulu Musini and committed by
Martin K. Petersen
be2a266d 0da8519b

+17 -18
+17 -18
drivers/scsi/snic/snic_main.c
··· 631 631 goto err_free_tmreq_pool; 632 632 } 633 633 634 - /* 635 - * Initialization done with PCI system, hardware, firmware. 636 - * Add shost to SCSI 637 - */ 638 - ret = snic_add_host(shost, pdev); 639 - if (ret) { 640 - SNIC_HOST_ERR(shost, 641 - "Adding scsi host Failed ... exiting. %d\n", 642 - ret); 643 - 644 - goto err_notify_unset; 645 - } 646 - 647 634 spin_lock_irqsave(&snic_glob->snic_list_lock, flags); 648 635 list_add_tail(&snic->list, &snic_glob->snic_list); 649 636 spin_unlock_irqrestore(&snic_glob->snic_list_lock, flags); ··· 663 676 for (i = 0; i < snic->intr_count; i++) 664 677 svnic_intr_unmask(&snic->intr[i]); 665 678 666 - snic_set_state(snic, SNIC_ONLINE); 667 - 668 679 /* Get snic params */ 669 680 ret = snic_get_conf(snic); 670 681 if (ret) { ··· 672 687 673 688 goto err_get_conf; 674 689 } 690 + 691 + /* 692 + * Initialization done with PCI system, hardware, firmware. 693 + * Add shost to SCSI 694 + */ 695 + ret = snic_add_host(shost, pdev); 696 + if (ret) { 697 + SNIC_HOST_ERR(shost, 698 + "Adding scsi host Failed ... exiting. %d\n", 699 + ret); 700 + 701 + goto err_get_conf; 702 + } 703 + 704 + snic_set_state(snic, SNIC_ONLINE); 675 705 676 706 ret = snic_disc_start(snic); 677 707 if (ret) { ··· 712 712 svnic_dev_disable(snic->vdev); 713 713 714 714 err_vdev_enable: 715 + svnic_dev_notify_unset(snic->vdev); 716 + 715 717 for (i = 0; i < snic->wq_count; i++) { 716 718 int rc = 0; 717 719 ··· 726 724 } 727 725 } 728 726 snic_del_host(snic->shost); 729 - 730 - err_notify_unset: 731 - svnic_dev_notify_unset(snic->vdev); 732 727 733 728 err_free_tmreq_pool: 734 729 mempool_destroy(snic->req_pool[SNIC_REQ_TM_CACHE]);