• Hugh Dickins's avatar
    ide: fix PowerMac bootup oops · 5f4417a1
    Hugh Dickins authored
    PowerMac bootup with CONFIG_IDE=y oopses in ide_pio_cycle_time():
    because "ide: try to use PIO Mode 0 during probe if possible" causes
    pmac_ide_set_pio_mode() to be called before drive->id has been set.
    
    Bart points out other places which now need drive->id set earlier,
    so follow his advice to allocate it in ide_port_alloc_devices()
    (using kzalloc_node, without error message, as when allocating drive)
    and memset it for reuse in ide_port_init_devices_data().
    
    Fixed in passing: ide_host_alloc() was missing ide_port_free_devices()
    from an error path.
    Signed-off-by: 's avatarHugh Dickins <hugh.dickins@tiscali.co.uk>
    Cc: Joao Ramos <joao.ramos@inov.pt>
    Cc: Sergei Shtylyov <sshtylyov@ru.mvista.com>
    Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org>
    Cc: Andrew Morton <akpm@linux-foundation.org>
    Signed-off-by: 's avatarBartlomiej Zolnierkiewicz <bzolnier@gmail.com>
    5f4417a1
ide-probe.c 37.2 KB