On Thu, 7 Jul 2005, Andi Kleen wrote:

> > > The setup was a Intel board with 1 PATA/4 SATA onboard and only a CD-ROM
> > > and a external Promise PATA controller with two PATA disks.
> > 
> > actual OOPS would be very useful
> 
> It's difficult because I don't have serial on that machine.

Maybe we can settle on this patch until we know for sure that the hwif 
is also a problem. In that case we can simply patch hwif_to_node:


Index: linux-2.6.git/drivers/ide/ide-probe.c
===================================================================
--- linux-2.6.git.orig/drivers/ide/ide-probe.c  2005-06-23 11:38:02.000000000 
-0700
+++ linux-2.6.git/drivers/ide/ide-probe.c       2005-07-07 20:18:22.000000000 
-0700
@@ -960,6 +960,15 @@
 }
 #endif /* MAX_HWIFS > 1 */
 
+static inline int hwif_to_node(ide_hwif_t *hwif)
+{
+       if (hwif->pci_dev)
+               return pcibus_to_node(hwif->pci_dev->bus);
+       else
+               /* Add ways to determine the node of other busses here */
+               return -1;
+}
+
 /*
  * init request queue
  */
@@ -978,8 +987,7 @@
         *      do not.
         */
 
-       q = blk_init_queue_node(do_ide_request, &ide_lock,
-                               pcibus_to_node(drive->hwif->pci_dev->bus));
+       q = blk_init_queue_node(do_ide_request, &ide_lock, hwif_to_node(hwif));
        if (!q)
                return 1;
 
@@ -1097,7 +1105,7 @@
                spin_unlock_irq(&ide_lock);
        } else {
                hwgroup = kmalloc_node(sizeof(ide_hwgroup_t), GFP_KERNEL,
-                       pcibus_to_node(hwif->drives[0].hwif->pci_dev->bus));
+                                       hwif_to_node(hwif->drives[0].hwif));
                if (!hwgroup)
                        goto out_up;
 
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Reply via email to