public inbox for linux-scsi@vger.kernel.org
 help / color / mirror / Atom feed
* [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