aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/scsi/lpfc
diff options
context:
space:
mode:
authorJames Smart <james.smart@emulex.com>2012-03-01 22:37:18 -0500
committerJames Bottomley <JBottomley@Parallels.com>2012-03-27 08:26:32 +0100
commit2b81f942e75abda20f753e69f7a5416930ea001f (patch)
tree7465b3c2ce61f58ac18bcae16cc0e134a1c39eb4 /drivers/scsi/lpfc
parent[SCSI] lpfc 8.3.30: Update copyright date for files modified in 2012 (diff)
downloadlinux-dev-2b81f942e75abda20f753e69f7a5416930ea001f.tar.xz
linux-dev-2b81f942e75abda20f753e69f7a5416930ea001f.zip
[SCSI] lpfc 8.3.30: Flush reset register write
Used PCI configure space read to flush PCI function reset register write Signed-off-by: Alex Iannicelli <alex.iannicelli@emulex.com> Signed-off-by: James Smart <james.smart@emulex.com> Signed-off-by: James Bottomley <JBottomley@Parallels.com>
Diffstat (limited to 'drivers/scsi/lpfc')
-rw-r--r--drivers/scsi/lpfc/lpfc_init.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/drivers/scsi/lpfc/lpfc_init.c b/drivers/scsi/lpfc/lpfc_init.c
index ae11beb79bc4..9598fdcb08ab 100644
--- a/drivers/scsi/lpfc/lpfc_init.c
+++ b/drivers/scsi/lpfc/lpfc_init.c
@@ -7232,6 +7232,7 @@ lpfc_pci_function_reset(struct lpfc_hba *phba)
uint32_t rdy_chk, num_resets = 0, reset_again = 0;
union lpfc_sli4_cfg_shdr *shdr;
struct lpfc_register reg_data;
+ uint16_t devid;
if_type = bf_get(lpfc_sli_intf_if_type, &phba->sli4_hba.sli_intf);
switch (if_type) {
@@ -7279,7 +7280,8 @@ lpfc_pci_function_reset(struct lpfc_hba *phba)
writel(reg_data.word0, phba->sli4_hba.u.if_type2.
CTRLregaddr);
/* flush */
- readl(phba->sli4_hba.u.if_type2.STATUSregaddr);
+ pci_read_config_word(phba->pcidev,
+ PCI_DEVICE_ID, &devid);
/*
* Poll the Port Status Register and wait for RDY for
* up to 10 seconds. If the port doesn't respond, treat