* [PATCH] fix fusion breakage with multiple PCI domains
@ 2005-03-17 20:00 Bjorn Helgaas
2005-03-18 17:25 ` Bjorn Helgaas
2005-03-25 16:25 ` Bjorn Helgaas
0 siblings, 2 replies; 3+ messages in thread
From: Bjorn Helgaas @ 2005-03-17 20:00 UTC (permalink / raw)
To: sjralston1, mpt_linux_developer; +Cc: linux-scsi
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 <bjorn.helgaas@hp.com>
===== 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) {
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: [PATCH] fix fusion breakage with multiple PCI domains
2005-03-17 20:00 [PATCH] fix fusion breakage with multiple PCI domains Bjorn Helgaas
@ 2005-03-18 17:25 ` Bjorn Helgaas
2005-03-25 16:25 ` Bjorn Helgaas
1 sibling, 0 replies; 3+ messages in thread
From: Bjorn Helgaas @ 2005-03-18 17:25 UTC (permalink / raw)
To: sjralston1; +Cc: mpt_linux_developer, linux-scsi
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) {
>
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: [PATCH] fix fusion breakage with multiple PCI domains
2005-03-17 20:00 [PATCH] fix fusion breakage with multiple PCI domains Bjorn Helgaas
2005-03-18 17:25 ` Bjorn Helgaas
@ 2005-03-25 16:25 ` Bjorn Helgaas
1 sibling, 0 replies; 3+ messages in thread
From: Bjorn Helgaas @ 2005-03-25 16:25 UTC (permalink / raw)
To: Eric.Moore; +Cc: mpt_linux_developer, linux-scsi, sjralston1
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 <bjorn.helgaas@hp.com>
>
> ===== 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: Eric.Moore@lsil.com
+L: linux-scsi@vger.kernel.org
+S: Maintained
+
M68K ARCHITECTURE
P: Geert Uytterhoeven
M: geert@linux-m68k.org
^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2005-03-25 16:25 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2005-03-17 20:00 [PATCH] fix fusion breakage with multiple PCI domains Bjorn Helgaas
2005-03-18 17:25 ` Bjorn Helgaas
2005-03-25 16:25 ` Bjorn Helgaas
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox