mirror of
https://github.com/BobTheBlinker/android_kernel_motorola_sm6375.git
synced 2026-10-28 18:51:56 -04:00
target: Fix Task Aborted Status (TAS) handling
This patch addresses three of long standing issues wrt to Task Aborted Status (TAS) handling. The first is the incorrect assumption in core_tmr_handle_tas_abort() that TASK_ABORTED status is sent for the task referenced by TMR ABORT_TASK, and sending TASK_ABORTED status for TMR LUN_RESET on the same nexus the LUN_RESET was received. The second is to ensure the lun reference count is dropped within transport_cmd_finish_abort() by calling transport_lun_remove_cmd() before invoking transport_cmd_check_stop_to_fabric(). The last is to fix the delayed TAS handling to allow outstanding WRITEs to complete before sending the TASK_ABORTED status. This includes changing transport_check_aborted_status() to avoid processing when SCF_SEND_DELAYED_TAS has not be set, and updating transport_send_task_abort() to drop the SCF_SENT_DELAYED_TAS check. Signed-off-by: Alex Leung <[email protected]> Cc: Alex Leung <[email protected]> Signed-off-by: Nicholas Bellinger <[email protected]>
This commit is contained in:
parent
f46d6a8a01
commit
68259b5aac
3 changed files with 18 additions and 16 deletions
|
|
@ -162,7 +162,7 @@ enum se_cmd_flags_table {
|
|||
SCF_SENT_CHECK_CONDITION = 0x00000800,
|
||||
SCF_OVERFLOW_BIT = 0x00001000,
|
||||
SCF_UNDERFLOW_BIT = 0x00002000,
|
||||
SCF_SENT_DELAYED_TAS = 0x00004000,
|
||||
SCF_SEND_DELAYED_TAS = 0x00004000,
|
||||
SCF_ALUA_NON_OPTIMIZED = 0x00008000,
|
||||
SCF_PASSTHROUGH_SG_TO_MEM_NOALLOC = 0x00020000,
|
||||
SCF_ACK_KREF = 0x00040000,
|
||||
|
|
|
|||
Loading…
Reference in a new issue