summaryrefslogtreecommitdiff
path: root/drivers/gpio/gpio-zx.c
diff options
context:
space:
mode:
authorNicholas Bellinger <nab@linux-iscsi.org>2016-05-17 22:19:10 -0700
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2016-08-20 18:09:26 +0200
commit6492c1c5b95658bc070d5d231bc32568b84b49bb (patch)
tree48e43b58187fd2af6e35223bf50c94b4fac907fd /drivers/gpio/gpio-zx.c
parent862312014cfd0770418760d24f980b2f45095e93 (diff)
target: Fix ordered task target_setup_cmd_from_cdb exception hang
commit dff0ca9ea7dc8be2181a62df4a722c32ce68ff4a upstream. If a command with a Simple task attribute is failed due to a Unit Attention, then a subsequent command with an Ordered task attribute will hang forever. The reason for this is that the Unit Attention status is checked for in target_setup_cmd_from_cdb, before the call to target_execute_cmd, which calls target_handle_task_attr, which in turn increments dev->simple_cmds. However, transport_generic_request_failure still calls transport_complete_task_attr, which will decrement dev->simple_cmds. In this case, simple_cmds is now -1. So when a command with the Ordered task attribute is sent, target_handle_task_attr sees that dev->simple_cmds is not 0, so it decides it can't execute the command until all the (nonexistent) Simple commands have completed. Reported-by: Michael Cyr <mikecyr@linux.vnet.ibm.com> Tested-by: Michael Cyr <mikecyr@linux.vnet.ibm.com> Reported-by: Bryant G. Ly <bryantly@linux.vnet.ibm.com> Tested-by: Bryant G. Ly <bryantly@linux.vnet.ibm.com> Signed-off-by: Nicholas Bellinger <nab@linux-iscsi.org> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to 'drivers/gpio/gpio-zx.c')
0 files changed, 0 insertions, 0 deletions