Gitweb:     
http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=8a4df120b0712a12134d0d9435ccaec1c12b07a7
Commit:     8a4df120b0712a12134d0d9435ccaec1c12b07a7
Parent:     0937282036d9ae798e02c9c69a8b2ef044048855
Author:     Tomohiro Kusumi <[EMAIL PROTECTED]>
AuthorDate: Fri Jan 11 01:53:00 2008 -0500
Committer:  James Bottomley <[EMAIL PROTECTED]>
CommitDate: Wed Jan 23 11:29:23 2008 -0600

    [SCSI] lpfc 8.2.4 : Make lpfc legacy I/O port free
    
    This is a patch written by Tomohiro Kusumi and submitted to
    linux-scsi:
    
    http://marc.info/?l=linux-scsi&m=118673720712152&w=2
    
    The original patch comment:
    
    This patch makes Emulex lpfc driver legacy I/O port free.
    It has already been acked quite long time ago.
    So I resubmit the patch.
    http://lkml.org/lkml/2006/11/22/28
    
    Current lpfc driver is already using pci_select_bars()
    and pci_enable_device_bars() when the PCI bus has been reset.
    So I think this patch should also be acked.
    
    Signed-off-by: Tomohiro Kusumi <[EMAIL PROTECTED]>
    Signed-off-by: James Smart <[EMAIL PROTECTED]>
    Signed-off-by: James Bottomley <[EMAIL PROTECTED]>
---
 drivers/scsi/lpfc/lpfc_init.c |   11 +++++++----
 1 files changed, 7 insertions(+), 4 deletions(-)

diff --git a/drivers/scsi/lpfc/lpfc_init.c b/drivers/scsi/lpfc/lpfc_init.c
index e17bb90..3205f74 100644
--- a/drivers/scsi/lpfc/lpfc_init.c
+++ b/drivers/scsi/lpfc/lpfc_init.c
@@ -1892,10 +1892,11 @@ lpfc_pci_probe_one(struct pci_dev *pdev, const struct 
pci_device_id *pid)
        int error = -ENODEV, retval;
        int  i, hbq_count;
        uint16_t iotag;
+       int bars = pci_select_bars(pdev, IORESOURCE_MEM);
 
-       if (pci_enable_device(pdev))
+       if (pci_enable_device_bars(pdev, bars))
                goto out;
-       if (pci_request_regions(pdev, LPFC_DRIVER_NAME))
+       if (pci_request_selected_regions(pdev, bars, LPFC_DRIVER_NAME))
                goto out_disable_device;
 
        phba = kzalloc(sizeof (struct lpfc_hba), GFP_KERNEL);
@@ -2167,7 +2168,7 @@ out_idr_remove:
 out_free_phba:
        kfree(phba);
 out_release_regions:
-       pci_release_regions(pdev);
+       pci_release_selected_regions(pdev, bars);
 out_disable_device:
        pci_disable_device(pdev);
 out:
@@ -2183,6 +2184,8 @@ lpfc_pci_remove_one(struct pci_dev *pdev)
        struct Scsi_Host  *shost = pci_get_drvdata(pdev);
        struct lpfc_vport *vport = (struct lpfc_vport *) shost->hostdata;
        struct lpfc_hba   *phba = vport->phba;
+       int bars = pci_select_bars(pdev, IORESOURCE_MEM);
+
        spin_lock_irq(&phba->hbalock);
        vport->load_flag |= FC_UNLOADING;
        spin_unlock_irq(&phba->hbalock);
@@ -2241,7 +2244,7 @@ lpfc_pci_remove_one(struct pci_dev *pdev)
 
        kfree(phba);
 
-       pci_release_regions(pdev);
+       pci_release_selected_regions(pdev, bars);
        pci_disable_device(pdev);
 }
 
-
To unsubscribe from this list: send the line "unsubscribe git-commits-head" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to