diff options
author | Tejun Heo <htejun@gmail.com> | 2006-03-24 01:25:30 -0500 |
---|---|---|
committer | Jeff Garzik <jeff@garzik.org> | 2006-03-24 09:39:57 -0500 |
commit | 1f7dd3e9d62b25c7b79f913f37c2242a61295de4 (patch) | |
tree | 7fc6cfaeca33cdae056a3ed69f841327391c9e8e /drivers/scsi/qlogicfc_asm.c | |
parent | 5a529139554f12cb265715117a2153c936286294 (diff) |
[PATCH] libata: check if port is disabled after internal command
libata core is being changed to disallow port/device disable on lower
layers. However, some LLDDs (sata_mv) directly disable port on
command failure. This patch makes ata_exec_internal() check whether a
port got disabled after an internal command. If it is, AC_ERR_SYSTEM
is added to err_mask and the port gets re-enabled.
As internal command failure results in device disable for drivers
which don't implement newer reset/EH callbacks, this change results in
no behavior change for single device per port controllers. For
slave-possible LLDDs which disable port on command failure, (1) such
drivers don't exist currently, (2) issuing command to the other device
of once-disabled port shouldn't result in catastrophe even if such
driver exists. So, this should be enough as a temporary measure.
Signed-off-by: Tejun Heo <htejun@gmail.com>
Signed-off-by: Jeff Garzik <jeff@garzik.org>
Diffstat (limited to 'drivers/scsi/qlogicfc_asm.c')
0 files changed, 0 insertions, 0 deletions