Document a pitfall of scsi_block_requests() and hot-unplugging. Signed-off-by: Stefan Richter <stefanr@xxxxxxxxxxxxxxxxx> diff -rU 5 linux-2.6.13-rc4.orig/Documentation/scsi/scsi_mid_low_api.txt linux-2.6.13-rc4/Documentation/scsi/scsi_mid_low_api.txt --- linux-2.6.13-rc4.orig/Documentation/scsi/scsi_mid_low_api.txt 2005-07-29 00:44:44.000000000 +0200 +++ linux-2.6.13-rc4/Documentation/scsi/scsi_mid_low_api.txt 2005-08-01 01:27:41.000000000 +0200 @@ -224,10 +224,13 @@ scsi_remove_device() -------+ | slave_destroy() ------------------------------------------------------------ +scsi_remove_device() may hang if the device's host was blocked by +scsi_block_requests(), so take care that it is unblocked. + It may be useful for an LLD to keep track of struct scsi_device instances (a pointer is passed as the parameter to slave_alloc() and slave_configure() callbacks). Such instances are "owned" by the mid-level. struct scsi_device instances are freed after slave_destroy(). - : send the line "unsubscribe linux-scsi" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html