-
Patrick Mansfield authored
This patch fixes queue depth setting of scsi devices. This is done by pairing shost->slave_attach() calls with a scsi_build_commandblocks in the new scsi_slave_attach. This is a patch aginst linux-scsi.bkbits.net/scsi-for-linus-2.5 after applying the last posted hch version of the "Eliminate scsi_host_tmpl_list" patch, it still applies with offset to the current scsi-for-linus-2.5. It also: Will properly call shost->slave_attach after a scsi_unregister_device() followed by a scsi_register_device() - as could happen if you were able to rmmod all upper level drivers and then insmod any of them back (only possible when not booted on scsi). Checks for scsi_build_commandblocks() allocation failures. Sets queue depth even if shost->slave_attach() does not call scsi_adjust_queue_depth. Removes the use of revoke (no drivers are setting it, it was only call via the proc scsi remove-single-device interface). There are at least two problems with sysfs and scsi (one in sysfs, one in scsi, I'll try and post more soon ...) so I could not completey test rmmod of an adapter or upper level driver without leading to an oops or shutdown hang. hosts.c | 5 -- hosts.h | 6 -- osst.c | 9 ++- scsi.c | 118 +++++++++++++++++++++++++++++++-------------------- scsi.h | 2 scsi_mid_low_api.txt | 24 ---------- scsi_scan.c | 9 --- sd.c | 10 +++- sg.c | 10 ++-- sr.c | 7 ++- st.c | 11 +++- 11 files changed, 106 insertions(+), 105 deletions(-) ===== drivers/scsi/hosts.c 1.23 vs edited =====
6647da0e