lkml.org 
[lkml]   [2005]   [Jul]   [7]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    Date
    From
    Subject[another PATCH] Fix crash on boot in kmalloc_node IDE changes
    On Wed, 6 Jul 2005, Andi Kleen wrote:

    > Without this patch a dual Xeon EM64T machine would oops on boot
    > because the hwif pointer here was NULL. I also added a check for
    > pci_dev because it's doubtful that all IDE devices have pci_devs.

    Here is IMHO the right way to fix this. Test for the hwif != NULL and
    test for pci_dev != NULL before determining the node number of the pci
    bus that the device is connected to. Maybe we need a hwif_to_node for ide
    drivers that is also able to determine the locality of other hardware?

    Signed-off-by: Christoph Lameter <christoph@lameter.com>

    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 09:15:04.000000000 -0700
    @@ -979,7 +979,8 @@
    */

    q = blk_init_queue_node(do_ide_request, &ide_lock,
    - pcibus_to_node(drive->hwif->pci_dev->bus));
    + (drive->hwif && drive->hwif->pci_dev) ?
    + pcibus_to_node(drive->hwif->pci_dev->bus): -1);
    if (!q)
    return 1;

    @@ -1097,7 +1098,8 @@
    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->drives[0].hwif && hwif->drives[0].hwif->pci_dev) ?
    + pcibus_to_node(hwif->drives[0].hwif->pci_dev->bus) : -1);
    if (!hwgroup)
    goto out_up;

    -
    To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
    the body of a message to majordomo@vger.kernel.org
    More majordomo info at http://vger.kernel.org/majordomo-info.html
    Please read the FAQ at http://www.tux.org/lkml/
    \
     
     \ /
      Last update: 2005-07-07 18:29    [W:0.022 / U:3.736 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site