The cam_sim structure was being deallocated unconditionally by device
authorMatthew Dillon <dillon@dragonflybsd.org>
Mon, 15 Mar 2004 03:05:11 +0000 (03:05 +0000)
committerMatthew Dillon <dillon@dragonflybsd.org>
Mon, 15 Mar 2004 03:05:11 +0000 (03:05 +0000)
commit521cf4d2bd2694659037341aa7ce7306001a8079
treeac6dbd5dcd855a3bc6c1947b28953212fb8b8ec2
parentad86f6b6e408fbf59857acadeaea07e13faec525
The cam_sim structure was being deallocated unconditionally by device
driver detach routines.  The problem with this is that part of the CAM
bus structure may still be active (for example, with pending timeout()'s),
and even though the bus, target, and device is freed, since the sim IS
freed any accesses through the sim will hit 0xdeadc0de.  This case most often
occurs with USB UMASS devices.
sys/dev/raid/aac/aac_cam.c
sys/dev/raid/amr/amr_cam.c
sys/dev/raid/asr/asr.c
sys/dev/raid/ciss/ciss.c
sys/dev/raid/dpt/dpt_scsi.c
sys/dev/raid/iir/iir.c
sys/dev/raid/mly/mly_cam.c