[PATCH] qlogic lockup fix
authorAndrew Morton <akpm@osdl.org>
Tue, 25 Oct 2005 18:00:56 +0000 (11:00 -0700)
committerLinus Torvalds <torvalds@g5.osdl.org>
Tue, 25 Oct 2005 20:51:48 +0000 (13:51 -0700)
commit444d1d9bb5b724f03344c9317bc01d54a9b39073
tree6514f1acdc991777e6703510753f6988cbd00654
parent0db9ae4a79381a5a3d272ccb51851c48c4bcbb6d
[PATCH] qlogic lockup fix

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: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
drivers/scsi/qla2xxx/qla_os.c