From: James Smart Date: Fri, 2 Mar 2012 03:37:18 +0000 (-0500) Subject: [SCSI] lpfc 8.3.30: Flush reset register write X-Git-Tag: v3.4-rc1~6^2~45 X-Git-Url: https://git.kernel.dk/?a=commitdiff_plain;h=2b81f942e75abda20f753e69f7a5416930ea001f;p=linux-2.6-block.git [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 --- 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