diff for duplicates of <4423A522.4050902@jp.fujitsu.com> diff --git a/a/1.txt b/N1/1.txt index e72173e..f54c78c 100644 --- a/a/1.txt +++ b/N1/1.txt @@ -20,7 +20,8 @@ Signed-off-by: Hidetoshi Seto <seto.hidetoshi@jp.fujitsu.com> 1 files changed, 359 insertions(+), 118 deletions(-) Index: linux-2.6.16_WORK/drivers/message/fusion/mptbase.c -=================================--- linux-2.6.16_WORK.orig/drivers/message/fusion/mptbase.c +=================================================================== +--- linux-2.6.16_WORK.orig/drivers/message/fusion/mptbase.c +++ linux-2.6.16_WORK/drivers/message/fusion/mptbase.c @@ -181,16 +181,124 @@ static void mpt_spi_log_info(MPT_ADAPTER *ioc, u32 log_info); @@ -59,7 +60,7 @@ Index: linux-2.6.16_WORK/drivers/message/fusion/mptbase.c + pcierr_clear(&cookie, ioc->pcidev); + val = ioread32(addr); + status = pcierr_read(&cookie); -+ if ((status) && (retries = PCI_ERR_RETRIES)) ++ if ((status) && (retries == PCI_ERR_RETRIES)) + printk(MYIOC_s_WARN_FMT "pciras_readl(), " + "detects pci parity error, do retry.\n", ioc->name); + } while(status && (--retries > 0)); @@ -88,12 +89,12 @@ Index: linux-2.6.16_WORK/drivers/message/fusion/mptbase.c + perror = 0; + writel(regval, addr); + pci_read_config_word(ioc->pcidev, PCI_STATUS, &status); -+ if (status = 0xffff) { -+ if (retries = PCI_ERR_RETRIES) ++ if (status == 0xffff) { ++ if (retries == PCI_ERR_RETRIES) + printk(MYIOC_s_WARN_FMT "pciras_writel(), " + "couldn't read pci register.\n", ioc->name); + } else if (status & PCI_STATUS_DETECTED_PARITY) { -+ if (retries = PCI_ERR_RETRIES) ++ if (retries == PCI_ERR_RETRIES) + printk(MYIOC_s_WARN_FMT "pciras_writel(), " + "detects pci parity error, do retry.\n", + ioc->name); @@ -182,10 +183,10 @@ Index: linux-2.6.16_WORK/drivers/message/fusion/mptbase.c */ while (1) { - pa = CHIPREG_READ32_dmasync(&ioc->chip->ReplyFifo); -- if (pa = 0xFFFFFFFF) +- if (pa == 0xFFFFFFFF) + u16 status; + status = CHIPREG_READ32HR(ioc, &ioc->chip->ReplyFifo, &pa); -+ if (status || (pa = 0xFFFFFFFF)) ++ if (status || (pa == 0xFFFFFFFF)) return IRQ_HANDLED; else if (pa & MPI_ADDRESS_REPLY_A_BIT) mpt_reply(ioc, pa); @@ -305,7 +306,7 @@ ioc->RequestNB[req_idx])); + INIT_WORK(&mptbase_rstTask, mptbase_schedule_reset, (void *)ioc); +#endif + - if (pdev->device = MPI_MANUFACTPAGE_DEVICEID_FC909) { + if (pdev->device == MPI_MANUFACTPAGE_DEVICEID_FC909) { ioc->prod_name = "LSIFC909"; ioc->bus_type = FC; @@ -1397,6 +1538,17 @@ @@ -324,7 +325,7 @@ ioc->RequestNB[req_idx])); + pci_write_config_byte(pdev, 0x6a, pcixcmd); +#endif } - else if (pdev->device = MPI_MANUFACTPAGE_DEVID_1030_53C1035) { + else if (pdev->device == MPI_MANUFACTPAGE_DEVID_1030_53C1035) { ioc->prod_name = "LSI53C1035"; @@ -1438,9 +1590,11 @@ spin_lock_init(&ioc->FreeQlock); @@ -420,7 +421,7 @@ ioc->RequestNB[req_idx])); /* bring ioc to operational state */ if ((recovery_state = mpt_do_ioc_recovery(ioc, @@ -1708,7 +1874,8 @@ - ioc->name, reason=MPT_HOSTEVENT_IOC_BRINGUP ? "bringup" : "recovery"); + ioc->name, reason==MPT_HOSTEVENT_IOC_BRINGUP ? "bringup" : "recovery"); /* Disable reply interrupts (also blocks FreeQ) */ - CHIPREG_WRITE32(&ioc->chip->IntMask, 0xFFFFFFFF); @@ -453,7 +454,7 @@ ioc->RequestNB[req_idx])); @@ -1849,7 +2020,8 @@ - if (ret = 0) { + if (ret == 0) { /* Enable! (reply interrupt) */ - CHIPREG_WRITE32(&ioc->chip->IntMask, MPI_HIM_DIM); + if (CHIPREG_WRITE32(ioc, &ioc->chip->IntMask, MPI_HIM_DIM)) @@ -519,7 +520,7 @@ ioc->RequestNB[req_idx])); + return EFAULT; /* wait 1 msec */ - if (sleepFlag = CAN_SLEEP) { + if (sleepFlag == CAN_SLEEP) { @@ -2985,11 +3160,15 @@ mdelay (1); } @@ -567,7 +568,7 @@ ioc->RequestNB[req_idx])); @@ -3081,10 +3262,10 @@ CHIPREG_PIO_WRITE32(&ioc->pio_chip->DiagRwData, diagRwData); - } else /* if((ioc->bus_type = SAS) || (ioc->bus_type = FC)) */ { + } else /* if((ioc->bus_type == SAS) || (ioc->bus_type == FC)) */ { - diag0val = CHIPREG_READ32(&ioc->chip->Diagnostic); - CHIPREG_WRITE32(&ioc->chip->Diagnostic, diag0val | - MPI_DIAG_CLEAR_FLASH_BAD_SIG); @@ -577,7 +578,7 @@ ioc->RequestNB[req_idx])); + diag0val | MPI_DIAG_CLEAR_FLASH_BAD_SIG)) + return -EFAULT; /* wait 1 msec */ - if (sleepFlag = CAN_SLEEP) { + if (sleepFlag == CAN_SLEEP) { msleep_interruptible (1); @@ -3096,17 +3277,20 @@ if (ioc->errata_flag_1064) @@ -601,7 +602,7 @@ ioc->RequestNB[req_idx])); + if (CHIPREG_WRITE32(ioc, &ioc->chip->WriteSequence, 0xFF)) + return -EFAULT; - if (ioc->bus_type = SAS) { + if (ioc->bus_type == SAS) { ioc_state = mpt_GetIocState(ioc, 0); @@ -3250,14 +3434,17 @@ #endif @@ -643,7 +644,7 @@ ioc->RequestNB[req_idx])); + return -1; /* wait 100 msec */ - if (sleepFlag = CAN_SLEEP) { + if (sleepFlag == CAN_SLEEP) { @@ -3292,7 +3480,8 @@ } @@ -702,7 +703,7 @@ ioc->RequestNB[req_idx])); + return -1; doorbell &= MPI_IOC_STATE_MASK; - if (doorbell = MPI_IOC_STATE_READY) { + if (doorbell == MPI_IOC_STATE_READY) { @@ -3394,10 +3588,12 @@ } } @@ -726,7 +727,7 @@ ioc->RequestNB[req_idx])); + if (CHIPREG_READ32(ioc, &ioc->chip->Diagnostic, &diag0val)) + return -1; count = 0; - while ((diag0val & MPI_DIAG_DRWE) = 0) { + while ((diag0val & MPI_DIAG_DRWE) == 0) { /* Write magic sequence to WriteSequence register * Loop until in diagnostic mode */ @@ -745,7 +746,7 @@ ioc->RequestNB[req_idx])); + return -1; /* wait 100 msec */ - if (sleepFlag = CAN_SLEEP) { + if (sleepFlag == CAN_SLEEP) { @@ -3431,11 +3629,15 @@ ioc->name, diag0val); break; @@ -863,7 +864,7 @@ ioc->RequestNB[req_idx])); } @@ -3951,7 +4167,8 @@ - if (sleepFlag = CAN_SLEEP) { + if (sleepFlag == CAN_SLEEP) { while (--cntdn) { - intstat = CHIPREG_READ32(&ioc->chip->IntStatus); + if (CHIPREG_READ32(ioc, &ioc->chip->IntStatus, &intstat)) @@ -883,7 +884,7 @@ ioc->RequestNB[req_idx])); mdelay (1); @@ -4000,7 +4218,8 @@ cntdn = 1000 * howlong; - if (sleepFlag = CAN_SLEEP) { + if (sleepFlag == CAN_SLEEP) { while (--cntdn) { - intstat = CHIPREG_READ32(&ioc->chip->IntStatus); + if (CHIPREG_READ32(ioc, &ioc->chip->IntStatus, &intstat)) diff --git a/a/content_digest b/N1/content_digest index 86c9e56..6d4c587 100644 --- a/a/content_digest +++ b/N1/content_digest @@ -1,8 +1,8 @@ "ref\044210D1B.7010806@jp.fujitsu.com\0" "ref\020060322210157.GH12335@kroah.com\0" "From\0Hidetoshi Seto <seto.hidetoshi@jp.fujitsu.com>\0" - "Subject\0[PATCH 6/6] PCIERR : interfaces for synchronous I/O error detection\0" - "Date\0Fri, 24 Mar 2006 07:52:02 +0000\0" + "Subject\0[PATCH 6/6] PCIERR : interfaces for synchronous I/O error detection on driver (sample: Fusion MPT)\0" + "Date\0Fri, 24 Mar 2006 16:52:02 +0900\0" "To\0Greg KH <greg@kroah.com>\0" "Cc\0Linux Kernel list <linux-kernel@vger.kernel.org>" linux-ia64@vger.kernel.org @@ -31,7 +31,8 @@ " 1 files changed, 359 insertions(+), 118 deletions(-)\n" "\n" "Index: linux-2.6.16_WORK/drivers/message/fusion/mptbase.c\n" - "=================================--- linux-2.6.16_WORK.orig/drivers/message/fusion/mptbase.c\n" + "===================================================================\n" + "--- linux-2.6.16_WORK.orig/drivers/message/fusion/mptbase.c\n" "+++ linux-2.6.16_WORK/drivers/message/fusion/mptbase.c\n" "@@ -181,16 +181,124 @@\n" " static void\tmpt_spi_log_info(MPT_ADAPTER *ioc, u32 log_info);\n" @@ -70,7 +71,7 @@ "+\t\tpcierr_clear(&cookie, ioc->pcidev);\n" "+\t\tval = ioread32(addr);\n" "+\t\tstatus = pcierr_read(&cookie);\n" - "+\t\tif ((status) && (retries = PCI_ERR_RETRIES))\n" + "+\t\tif ((status) && (retries == PCI_ERR_RETRIES))\n" "+\t\t\tprintk(MYIOC_s_WARN_FMT \"pciras_readl(), \"\n" "+\t\t\t\"detects pci parity error, do retry.\\n\", ioc->name);\n" "+\t} while(status && (--retries > 0));\n" @@ -99,12 +100,12 @@ "+\t\tperror = 0;\n" "+\t\twritel(regval, addr);\n" "+\t\tpci_read_config_word(ioc->pcidev, PCI_STATUS, &status);\n" - "+\t\tif (status = 0xffff) {\n" - "+\t\t\tif (retries = PCI_ERR_RETRIES)\n" + "+\t\tif (status == 0xffff) {\n" + "+\t\t\tif (retries == PCI_ERR_RETRIES)\n" "+\t\t\t\tprintk(MYIOC_s_WARN_FMT \"pciras_writel(), \"\n" "+\t\t\t\t\"couldn't read pci register.\\n\", ioc->name);\n" "+\t\t} else if (status & PCI_STATUS_DETECTED_PARITY) {\n" - "+\t\t\tif (retries = PCI_ERR_RETRIES)\n" + "+\t\t\tif (retries == PCI_ERR_RETRIES)\n" "+\t\t\t\tprintk(MYIOC_s_WARN_FMT \"pciras_writel(), \"\n" "+\t\t\t\t\t\"detects pci parity error, do retry.\\n\",\n" "+\t\t\t\t\tioc->name);\n" @@ -193,10 +194,10 @@ " \t */\n" " \twhile (1) {\n" "-\t\tpa = CHIPREG_READ32_dmasync(&ioc->chip->ReplyFifo);\n" - "-\t\tif (pa = 0xFFFFFFFF)\n" + "-\t\tif (pa == 0xFFFFFFFF)\n" "+\t\tu16 status;\n" "+\t\tstatus = CHIPREG_READ32HR(ioc, &ioc->chip->ReplyFifo, &pa);\n" - "+\t\tif (status || (pa = 0xFFFFFFFF))\n" + "+\t\tif (status || (pa == 0xFFFFFFFF))\n" " \t\t\treturn IRQ_HANDLED;\n" " \t\telse if (pa & MPI_ADDRESS_REPLY_A_BIT)\n" " \t\t\tmpt_reply(ioc, pa);\n" @@ -316,7 +317,7 @@ "+\tINIT_WORK(&mptbase_rstTask, mptbase_schedule_reset, (void *)ioc);\n" "+#endif\n" "+\n" - " \tif (pdev->device = MPI_MANUFACTPAGE_DEVICEID_FC909) {\n" + " \tif (pdev->device == MPI_MANUFACTPAGE_DEVICEID_FC909) {\n" " \t\tioc->prod_name = \"LSIFC909\";\n" " \t\tioc->bus_type = FC;\n" "@@ -1397,6 +1538,17 @@\n" @@ -335,7 +336,7 @@ "+\t\tpci_write_config_byte(pdev, 0x6a, pcixcmd);\n" "+#endif\n" " \t}\n" - " \telse if (pdev->device = MPI_MANUFACTPAGE_DEVID_1030_53C1035) {\n" + " \telse if (pdev->device == MPI_MANUFACTPAGE_DEVID_1030_53C1035) {\n" " \t\tioc->prod_name = \"LSI53C1035\";\n" "@@ -1438,9 +1590,11 @@\n" " \tspin_lock_init(&ioc->FreeQlock);\n" @@ -431,7 +432,7 @@ " \t/* bring ioc to operational state */\n" " \tif ((recovery_state = mpt_do_ioc_recovery(ioc,\n" "@@ -1708,7 +1874,8 @@\n" - " \t\t\tioc->name, reason=MPT_HOSTEVENT_IOC_BRINGUP ? \"bringup\" : \"recovery\");\n" + " \t\t\tioc->name, reason==MPT_HOSTEVENT_IOC_BRINGUP ? \"bringup\" : \"recovery\");\n" "\n" " \t/* Disable reply interrupts (also blocks FreeQ) */\n" "-\tCHIPREG_WRITE32(&ioc->chip->IntMask, 0xFFFFFFFF);\n" @@ -464,7 +465,7 @@ "\n" "@@ -1849,7 +2020,8 @@\n" "\n" - " \tif (ret = 0) {\n" + " \tif (ret == 0) {\n" " \t\t/* Enable! (reply interrupt) */\n" "-\t\tCHIPREG_WRITE32(&ioc->chip->IntMask, MPI_HIM_DIM);\n" "+\t\tif (CHIPREG_WRITE32(ioc, &ioc->chip->IntMask, MPI_HIM_DIM))\n" @@ -530,7 +531,7 @@ "+\t\treturn EFAULT;\n" "\n" " \t/* wait 1 msec */\n" - " \tif (sleepFlag = CAN_SLEEP) {\n" + " \tif (sleepFlag == CAN_SLEEP) {\n" "@@ -2985,11 +3160,15 @@\n" " \t\tmdelay (1);\n" " \t}\n" @@ -578,7 +579,7 @@ "@@ -3081,10 +3262,10 @@\n" " \t\tCHIPREG_PIO_WRITE32(&ioc->pio_chip->DiagRwData, diagRwData);\n" "\n" - " \t} else /* if((ioc->bus_type = SAS) || (ioc->bus_type = FC)) */ {\n" + " \t} else /* if((ioc->bus_type == SAS) || (ioc->bus_type == FC)) */ {\n" "-\t\tdiag0val = CHIPREG_READ32(&ioc->chip->Diagnostic);\n" "-\t\tCHIPREG_WRITE32(&ioc->chip->Diagnostic, diag0val |\n" "-\t\t MPI_DIAG_CLEAR_FLASH_BAD_SIG);\n" @@ -588,7 +589,7 @@ "+\t\t\t\t diag0val | MPI_DIAG_CLEAR_FLASH_BAD_SIG))\n" "+\t\t\treturn -EFAULT;\n" " \t\t/* wait 1 msec */\n" - " \t\tif (sleepFlag = CAN_SLEEP) {\n" + " \t\tif (sleepFlag == CAN_SLEEP) {\n" " \t\t\tmsleep_interruptible (1);\n" "@@ -3096,17 +3277,20 @@\n" " \tif (ioc->errata_flag_1064)\n" @@ -612,7 +613,7 @@ "+\tif (CHIPREG_WRITE32(ioc, &ioc->chip->WriteSequence, 0xFF))\n" "+\t\treturn -EFAULT;\n" "\n" - " \tif (ioc->bus_type = SAS) {\n" + " \tif (ioc->bus_type == SAS) {\n" " \t\tioc_state = mpt_GetIocState(ioc, 0);\n" "@@ -3250,14 +3434,17 @@\n" " #endif\n" @@ -654,7 +655,7 @@ "+\t\t\t\treturn -1;\n" "\n" " \t\t\t/* wait 100 msec */\n" - " \t\t\tif (sleepFlag = CAN_SLEEP) {\n" + " \t\t\tif (sleepFlag == CAN_SLEEP) {\n" "@@ -3292,7 +3480,8 @@\n" "\n" " \t\t\t}\n" @@ -713,7 +714,7 @@ "+\t\t\t\t\treturn -1;\n" " \t\t\t\tdoorbell &= MPI_IOC_STATE_MASK;\n" "\n" - " \t\t\t\tif (doorbell = MPI_IOC_STATE_READY) {\n" + " \t\t\t\tif (doorbell == MPI_IOC_STATE_READY) {\n" "@@ -3394,10 +3588,12 @@\n" " \t\t}\n" " \t}\n" @@ -737,7 +738,7 @@ "+\tif (CHIPREG_READ32(ioc, &ioc->chip->Diagnostic, &diag0val))\n" "+\t\treturn -1;\n" " \tcount = 0;\n" - " \twhile ((diag0val & MPI_DIAG_DRWE) = 0) {\n" + " \twhile ((diag0val & MPI_DIAG_DRWE) == 0) {\n" " \t\t/* Write magic sequence to WriteSequence register\n" " \t\t * Loop until in diagnostic mode\n" " \t\t */\n" @@ -756,7 +757,7 @@ "+\t\t\treturn -1;\n" "\n" " \t\t/* wait 100 msec */\n" - " \t\tif (sleepFlag = CAN_SLEEP) {\n" + " \t\tif (sleepFlag == CAN_SLEEP) {\n" "@@ -3431,11 +3629,15 @@\n" " \t\t\t\t\tioc->name, diag0val);\n" " \t\t\tbreak;\n" @@ -874,7 +875,7 @@ " \t\t}\n" "@@ -3951,7 +4167,8 @@\n" "\n" - " \tif (sleepFlag = CAN_SLEEP) {\n" + " \tif (sleepFlag == CAN_SLEEP) {\n" " \t\twhile (--cntdn) {\n" "-\t\t\tintstat = CHIPREG_READ32(&ioc->chip->IntStatus);\n" "+\t\t\tif (CHIPREG_READ32(ioc, &ioc->chip->IntStatus, &intstat))\n" @@ -894,7 +895,7 @@ " \t\t\tmdelay (1);\n" "@@ -4000,7 +4218,8 @@\n" " \tcntdn = 1000 * howlong;\n" - " \tif (sleepFlag = CAN_SLEEP) {\n" + " \tif (sleepFlag == CAN_SLEEP) {\n" " \t\twhile (--cntdn) {\n" "-\t\t\tintstat = CHIPREG_READ32(&ioc->chip->IntStatus);\n" "+\t\t\tif (CHIPREG_READ32(ioc, &ioc->chip->IntStatus, &intstat))\n" @@ -972,4 +973,4 @@ " \tif (failcnt) {\n" " \t\tprintk(MYIOC_s_ERR_FMT \"Handshake reply failure!\\n\"," -eb65247bf0809966f27d776d6032aa039aaaf5c1fb77b08520ac1c2e9378f765 +46bc77d6eaf4c60132fccdf829be88eaf3e2705b0ff2935cebf25f7ae92b69a4
This is an external index of several public inboxes, see mirroring instructions on how to clone and mirror all data and code used by this external index.