From 2b81f942e75abda20f753e69f7a5416930ea001f Mon Sep 17 00:00:00 2001 From: James Smart Date: Thu, 1 Mar 2012 22:37:18 -0500 Subject: [PATCH] [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 Signed-off-by: James Smart Signed-off-by: James Bottomley --- drivers/scsi/lpfc/lpfc_init.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) 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 -- 2.39.5