Re: [PATCH] fix fusion breakage with multiple PCI domains

2005-03-25 Thread Bjorn Helgaas
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

2005-03-18 Thread Bjorn Helgaas
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

2005-03-17 Thread Bjorn Helgaas
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