Re: [PATCH] fix fusion breakage with multiple PCI domains
Any comments on the patch below? Eric, sorry I didn't sent this to you before -- maybe you'd consider the MAINTAINERS patch below as well? I also suggested pci_get_slot() as a possibility for rewriting the function below (mpt_detect_bound_ports()). But that's a bit more than I want to do at the moment. We need a fix for RHEL4 and SLES9, and as a non-expert in mpt fusion, I'm more comfortable advocating the simple change below. On Thu, 2005-03-17 at 13:00 -0700, Bjorn Helgaas wrote: mpt_detect_bound_ports(): Don't assume that two devices with the same dev-bus-number are on the same bus. With multiple PCI domains, many buses may have the same number. Signed-off-by: Bjorn Helgaas [EMAIL PROTECTED] = drivers/message/fusion/mptbase.c 1.40 vs edited = --- 1.40/drivers/message/fusion/mptbase.c 2005-03-13 16:30:09 -07:00 +++ edited/drivers/message/fusion/mptbase.c 2005-03-17 12:46:57 -07:00 @@ -1834,14 +1834,14 @@ match_lo = pdev-devfn-1; match_hi = pdev-devfn+1; - dprintk((MYIOC_s_INFO_FMT PCI bus/devfn=%x/%x, searching for devfn match on %x or %x\n, - ioc-name, pdev-bus-number, pdev-devfn, match_lo, match_hi)); + dprintk((MYIOC_s_INFO_FMT PCI device %s devfn=%x/%x, searching for devfn match on %x or %x\n, + ioc-name, pci_name(pdev), pdev-devfn, match_lo, match_hi)); list_for_each_entry(ioc_srch, ioc_list, list) { struct pci_dev *_pcidev = ioc_srch-pcidev; if ((_pcidev-device == pdev-device) - (_pcidev-bus-number == pdev-bus-number) + (_pcidev-bus == pdev-bus) (_pcidev-devfn == match_lo || _pcidev-devfn == match_hi) ) { /* Paranoia checks */ if (ioc-alt_ioc != NULL) { = MAINTAINERS 1.291 vs edited = --- 1.291/MAINTAINERS 2005-03-13 16:29:59 -07:00 +++ edited/MAINTAINERS 2005-03-25 09:05:50 -07:00 @@ -1449,6 +1449,12 @@ L: linux-scsi@vger.kernel.org S: Maintained +LSILOGIC FC9XX/53C1030/53C1035 FUSION MPT DRIVER +P: Eric Moore +M: [EMAIL PROTECTED] +L: linux-scsi@vger.kernel.org +S: Maintained + M68K ARCHITECTURE P: Geert Uytterhoeven M: [EMAIL PROTECTED] - To unsubscribe from this list: send the line unsubscribe linux-scsi in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html
Re: [PATCH] fix fusion breakage with multiple PCI domains
On Thu, 2005-03-17 at 13:00 -0700, Bjorn Helgaas wrote: mpt_detect_bound_ports(): Don't assume that two devices with the same dev-bus-number are on the same bus. With multiple PCI domains, many buses may have the same number. Maybe mpt_detect_bound_ports() could be rewritten to use pci_get_slot() instead? tg3_find_5704_peer() looks like it's doing basically the same thing; maybe you could copy it. = drivers/message/fusion/mptbase.c 1.40 vs edited = --- 1.40/drivers/message/fusion/mptbase.c 2005-03-13 16:30:09 -07:00 +++ edited/drivers/message/fusion/mptbase.c 2005-03-17 12:46:57 -07:00 @@ -1834,14 +1834,14 @@ match_lo = pdev-devfn-1; match_hi = pdev-devfn+1; - dprintk((MYIOC_s_INFO_FMT PCI bus/devfn=%x/%x, searching for devfn match on %x or %x\n, - ioc-name, pdev-bus-number, pdev-devfn, match_lo, match_hi)); + dprintk((MYIOC_s_INFO_FMT PCI device %s devfn=%x/%x, searching for devfn match on %x or %x\n, + ioc-name, pci_name(pdev), pdev-devfn, match_lo, match_hi)); list_for_each_entry(ioc_srch, ioc_list, list) { struct pci_dev *_pcidev = ioc_srch-pcidev; if ((_pcidev-device == pdev-device) - (_pcidev-bus-number == pdev-bus-number) + (_pcidev-bus == pdev-bus) (_pcidev-devfn == match_lo || _pcidev-devfn == match_hi) ) { /* Paranoia checks */ if (ioc-alt_ioc != NULL) { - To unsubscribe from this list: send the line unsubscribe linux-scsi in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html
[PATCH] fix fusion breakage with multiple PCI domains
mpt_detect_bound_ports(): Don't assume that two devices with the same dev-bus-number are on the same bus. With multiple PCI domains, many buses may have the same number. Signed-off-by: Bjorn Helgaas [EMAIL PROTECTED] = drivers/message/fusion/mptbase.c 1.40 vs edited = --- 1.40/drivers/message/fusion/mptbase.c 2005-03-13 16:30:09 -07:00 +++ edited/drivers/message/fusion/mptbase.c 2005-03-17 12:46:57 -07:00 @@ -1834,14 +1834,14 @@ match_lo = pdev-devfn-1; match_hi = pdev-devfn+1; - dprintk((MYIOC_s_INFO_FMT PCI bus/devfn=%x/%x, searching for devfn match on %x or %x\n, - ioc-name, pdev-bus-number, pdev-devfn, match_lo, match_hi)); + dprintk((MYIOC_s_INFO_FMT PCI device %s devfn=%x/%x, searching for devfn match on %x or %x\n, + ioc-name, pci_name(pdev), pdev-devfn, match_lo, match_hi)); list_for_each_entry(ioc_srch, ioc_list, list) { struct pci_dev *_pcidev = ioc_srch-pcidev; if ((_pcidev-device == pdev-device) - (_pcidev-bus-number == pdev-bus-number) + (_pcidev-bus == pdev-bus) (_pcidev-devfn == match_lo || _pcidev-devfn == match_hi) ) { /* Paranoia checks */ if (ioc-alt_ioc != NULL) { - To unsubscribe from this list: send the line unsubscribe linux-scsi in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html