Ideally, Linux should not be sending task management commands to devices that don't support the given task mgmt operation. This patch uses the REPORT SUPPORTED TASK MGMT FUNCTIONS command to enable or disable error recovery paths for a given device. For older devices, we make an educated guess about what kind of error recovery the device supports. This isn't going to be 100% accurate as it should probably take the transport as well as the SCSI version into account, but it is a start. While this patch improves the error recovery paths for modern SCSI networks, the error recovery logic continues to fall through to host reset. It also continues to send bus and target resets in cases where they may affect working devices. I have a partial set of patches which attempt to make intelligent decisions in these cases, but they are far more intrusive and at this point not as clear cut. Just in case... Signed-off-by: Jeremy Linton ---