• Andrew Morton's avatar
    [PATCH] qlogic lockup fix · 444d1d9b
    Andrew Morton authored
    If qla2x00_probe_one()'s call to qla2x00_iospace_config() fails, we call
    qla2x00_free_device() to clean up.  But because ha->dpc_pid hasn't been set
    yet, qla2x00_free_device() tries to stop a kernel thread which hasn't started
    yet.  It does wait_for_completion() against an uninitialised completion struct
    and the kernel hangs up.
    
    Fix it by initialising ha->dpc_pid a bit earlier.
    
    Cc: Andrew Vasquez <andrew.vasquez@qlogic.com>
    Cc: James Bottomley <James.Bottomley@steeleye.com>
    Signed-off-by: default avatarAndrew Morton <akpm@osdl.org>
    Signed-off-by: default avatarLinus Torvalds <torvalds@osdl.org>
    444d1d9b
qla_os.c 64.4 KB