target: go through normal processing for zero-length REQUEST_SENSE

Now that spc_emulate_request_sense has been taught to process zero-length
REQUEST SENSE correctly, drop the special handling of unit attention
conditions from transport_generic_new_cmd. However, for now REQUEST SENSE
will be the only command that goes through emulation for zero lengths.

(nab: Fix up zero-length check in transport_generic_new_cmd)

Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
Signed-off-by: Nicholas Bellinger <nab@linux-iscsi.org>

authored by Paolo Bonzini and committed by Nicholas Bellinger 6abbdf38 32a8811f

Changed files
+2 -9
drivers
+2 -9
drivers/target/target_core_transport.c
··· 2306 2306 * away. 2307 2307 */ 2308 2308 if (!cmd->data_length && 2309 - (cmd->se_dev->transport->transport_type != TRANSPORT_PLUGIN_PHBA_PDEV || 2310 - cmd->t_task_cdb[0] == REPORT_LUNS) { 2309 + cmd->t_task_cdb[0] != REQUEST_SENSE && 2310 + cmd->se_dev->transport->transport_type != TRANSPORT_PLUGIN_PHBA_PDEV) { 2311 2311 spin_lock_irq(&cmd->t_state_lock); 2312 2312 cmd->t_state = TRANSPORT_COMPLETE; 2313 2313 cmd->transport_state |= CMD_T_ACTIVE; 2314 2314 spin_unlock_irq(&cmd->t_state_lock); 2315 - 2316 - if (cmd->t_task_cdb[0] == REQUEST_SENSE) { 2317 - u8 ua_asc = 0, ua_ascq = 0; 2318 - 2319 - core_scsi3_ua_clear_for_request_sense(cmd, 2320 - &ua_asc, &ua_ascq); 2321 - } 2322 2315 2323 2316 INIT_WORK(&cmd->work, target_complete_ok_work); 2324 2317 queue_work(target_completion_wq, &cmd->work);