2.4.23 IDE hang on boot with two single-channel controllers

From: Jeremy Jackson (jerj_at_coplanar.net)
Date: 01/26/04

  • Next message: Matthias Andree: "Re: 2.6.2-rc in BK: Oops loading parport_pc."
    Date:	Sun, 25 Jan 2004 19:42:17 -0500
    To: linux-kernel@vger.kernel.org
    
    

    Hi All,

    kdb shows proc_ide_create() stuck in a loop when booting on a Compaq
    Armada 7730MT while attached to the docking station.

    This is a unique IDE hardware setup. Channel ide0's controller is in
    the laptop, while ide1 is a separate controller (pci device) in the
    docking station and is not always present.

    This seems to be triggering a bug in ide-proc.c:

    void proc_ide_create(void)
    {
    #ifdef CONFIG_BLK_DEV_IDEPCI
             ide_pci_host_proc_t *p = ide_pci_host_proc_list;
    #endif /* CONFIG_BLK_DEV_IDEPCI */

             proc_ide_root = proc_mkdir("ide", 0);
             if (!proc_ide_root) return;

             create_proc_ide_interfaces();

             create_proc_read_entry("drivers", 0, proc_ide_root,
                                     proc_ide_read_drivers, NULL);

    #ifdef CONFIG_BLK_DEV_IDEPCI
             while (p != NULL) <------------------- INFINITE LOOP HERE
             {
                     if (p->name != NULL && p->set == 1 && p->get_info != NULL)
                     {
                             p->parent = proc_ide_root;
                             create_proc_info_entry(p->name, 0, p->parent,
    p->get_info);
                             p->set = 2;
                     }
                     p = p->next;
             }
    #endif /* CONFIG_BLK_DEV_IDEPCI */
    }

    I'm not sure if the problem is in the loop or bad data being setup
    before it starts.

    Assistance fixing it would be appreciated.

    Regards,

    Jeremy Jackson

    -
    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/


  • Next message: Matthias Andree: "Re: 2.6.2-rc in BK: Oops loading parport_pc."