aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--drivers/target/loopback/tcm_loop.c11
-rw-r--r--drivers/target/target_core_configfs.c4
-rw-r--r--drivers/target/target_core_tmr.c5
-rw-r--r--drivers/target/target_core_transport.c2
-rw-r--r--drivers/target/tcm_fc/tcm_fc.h1
-rw-r--r--drivers/target/tcm_fc/tfc_cmd.c6
-rw-r--r--drivers/target/tcm_fc/tfc_conf.c1
-rw-r--r--include/target/target_core_fabric_ops.h1
8 files changed, 0 insertions, 31 deletions
diff --git a/drivers/target/loopback/tcm_loop.c b/drivers/target/loopback/tcm_loop.c
index 7ba2542aabe7..cb4a9b906a4b 100644
--- a/drivers/target/loopback/tcm_loop.c
+++ b/drivers/target/loopback/tcm_loop.c
@@ -772,16 +772,6 @@ static u32 tcm_loop_get_inst_index(struct se_portal_group *se_tpg)
772 return 1; 772 return 1;
773} 773}
774 774
775static void tcm_loop_new_cmd_failure(struct se_cmd *se_cmd)
776{
777 /*
778 * Since TCM_loop is already passing struct scatterlist data from
779 * struct scsi_cmnd, no more Linux/SCSI failure dependent state need
780 * to be handled here.
781 */
782 return;
783}
784
785static int tcm_loop_is_state_remove(struct se_cmd *se_cmd) 775static int tcm_loop_is_state_remove(struct se_cmd *se_cmd)
786{ 776{
787 /* 777 /*
@@ -1446,7 +1436,6 @@ static int tcm_loop_register_configfs(void)
1446 &tcm_loop_set_default_node_attributes; 1436 &tcm_loop_set_default_node_attributes;
1447 fabric->tf_ops.get_task_tag = &tcm_loop_get_task_tag; 1437 fabric->tf_ops.get_task_tag = &tcm_loop_get_task_tag;
1448 fabric->tf_ops.get_cmd_state = &tcm_loop_get_cmd_state; 1438 fabric->tf_ops.get_cmd_state = &tcm_loop_get_cmd_state;
1449 fabric->tf_ops.new_cmd_failure = &tcm_loop_new_cmd_failure;
1450 fabric->tf_ops.queue_data_in = &tcm_loop_queue_data_in; 1439 fabric->tf_ops.queue_data_in = &tcm_loop_queue_data_in;
1451 fabric->tf_ops.queue_status = &tcm_loop_queue_status; 1440 fabric->tf_ops.queue_status = &tcm_loop_queue_status;
1452 fabric->tf_ops.queue_tm_rsp = &tcm_loop_queue_tm_rsp; 1441 fabric->tf_ops.queue_tm_rsp = &tcm_loop_queue_tm_rsp;
diff --git a/drivers/target/target_core_configfs.c b/drivers/target/target_core_configfs.c
index ac7f7655570e..aac0ee993b90 100644
--- a/drivers/target/target_core_configfs.c
+++ b/drivers/target/target_core_configfs.c
@@ -479,10 +479,6 @@ static int target_fabric_tf_ops_check(
479 printk(KERN_ERR "Missing tfo->get_cmd_state()\n"); 479 printk(KERN_ERR "Missing tfo->get_cmd_state()\n");
480 return -EINVAL; 480 return -EINVAL;
481 } 481 }
482 if (!(tfo->new_cmd_failure)) {
483 printk(KERN_ERR "Missing tfo->new_cmd_failure()\n");
484 return -EINVAL;
485 }
486 if (!(tfo->queue_data_in)) { 482 if (!(tfo->queue_data_in)) {
487 printk(KERN_ERR "Missing tfo->queue_data_in()\n"); 483 printk(KERN_ERR "Missing tfo->queue_data_in()\n");
488 return -EINVAL; 484 return -EINVAL;
diff --git a/drivers/target/target_core_tmr.c b/drivers/target/target_core_tmr.c
index 6667e39a35a1..5c20de3f1d1c 100644
--- a/drivers/target/target_core_tmr.c
+++ b/drivers/target/target_core_tmr.c
@@ -356,11 +356,6 @@ int core_tmr_lun_reset(
356 atomic_read(&cmd->t_fe_count)); 356 atomic_read(&cmd->t_fe_count));
357 /* 357 /*
358 * Signal that the command has failed via cmd->se_cmd_flags, 358 * Signal that the command has failed via cmd->se_cmd_flags,
359 * and call TFO->new_cmd_failure() to wakeup any fabric
360 * dependent code used to wait for unsolicited data out
361 * allocation to complete. The fabric module is expected
362 * to dump any remaining unsolicited data out for the aborted
363 * command at this point.
364 */ 359 */
365 transport_new_cmd_failure(cmd); 360 transport_new_cmd_failure(cmd);
366 361
diff --git a/drivers/target/target_core_transport.c b/drivers/target/target_core_transport.c
index 6f2855dac7f8..e3544c86d1fa 100644
--- a/drivers/target/target_core_transport.c
+++ b/drivers/target/target_core_transport.c
@@ -2586,8 +2586,6 @@ void transport_new_cmd_failure(struct se_cmd *se_cmd)
2586 se_cmd->se_cmd_flags |= SCF_SE_CMD_FAILED; 2586 se_cmd->se_cmd_flags |= SCF_SE_CMD_FAILED;
2587 se_cmd->se_cmd_flags |= SCF_SCSI_CDB_EXCEPTION; 2587 se_cmd->se_cmd_flags |= SCF_SCSI_CDB_EXCEPTION;
2588 spin_unlock_irqrestore(&se_cmd->t_state_lock, flags); 2588 spin_unlock_irqrestore(&se_cmd->t_state_lock, flags);
2589
2590 se_cmd->se_tfo->new_cmd_failure(se_cmd);
2591} 2589}
2592 2590
2593static void transport_nop_wait_for_tasks(struct se_cmd *, int, int); 2591static void transport_nop_wait_for_tasks(struct se_cmd *, int, int);
diff --git a/drivers/target/tcm_fc/tcm_fc.h b/drivers/target/tcm_fc/tcm_fc.h
index 7b82f1b7fef8..8d26779e440c 100644
--- a/drivers/target/tcm_fc/tcm_fc.h
+++ b/drivers/target/tcm_fc/tcm_fc.h
@@ -195,7 +195,6 @@ int ft_write_pending(struct se_cmd *);
195int ft_write_pending_status(struct se_cmd *); 195int ft_write_pending_status(struct se_cmd *);
196u32 ft_get_task_tag(struct se_cmd *); 196u32 ft_get_task_tag(struct se_cmd *);
197int ft_get_cmd_state(struct se_cmd *); 197int ft_get_cmd_state(struct se_cmd *);
198void ft_new_cmd_failure(struct se_cmd *);
199int ft_queue_tm_resp(struct se_cmd *); 198int ft_queue_tm_resp(struct se_cmd *);
200int ft_is_state_remove(struct se_cmd *); 199int ft_is_state_remove(struct se_cmd *);
201 200
diff --git a/drivers/target/tcm_fc/tfc_cmd.c b/drivers/target/tcm_fc/tfc_cmd.c
index 910306ce48de..9a3b486e1aad 100644
--- a/drivers/target/tcm_fc/tfc_cmd.c
+++ b/drivers/target/tcm_fc/tfc_cmd.c
@@ -292,12 +292,6 @@ int ft_is_state_remove(struct se_cmd *se_cmd)
292 return 0; /* XXX TBD */ 292 return 0; /* XXX TBD */
293} 293}
294 294
295void ft_new_cmd_failure(struct se_cmd *se_cmd)
296{
297 /* XXX TBD */
298 printk(KERN_INFO "%s: se_cmd %p\n", __func__, se_cmd);
299}
300
301/* 295/*
302 * FC sequence response handler for follow-on sequences (data) and aborts. 296 * FC sequence response handler for follow-on sequences (data) and aborts.
303 */ 297 */
diff --git a/drivers/target/tcm_fc/tfc_conf.c b/drivers/target/tcm_fc/tfc_conf.c
index 58e4745749db..20097728e8a0 100644
--- a/drivers/target/tcm_fc/tfc_conf.c
+++ b/drivers/target/tcm_fc/tfc_conf.c
@@ -550,7 +550,6 @@ static struct target_core_fabric_ops ft_fabric_ops = {
550 .set_default_node_attributes = ft_set_default_node_attr, 550 .set_default_node_attributes = ft_set_default_node_attr,
551 .get_task_tag = ft_get_task_tag, 551 .get_task_tag = ft_get_task_tag,
552 .get_cmd_state = ft_get_cmd_state, 552 .get_cmd_state = ft_get_cmd_state,
553 .new_cmd_failure = ft_new_cmd_failure,
554 .queue_data_in = ft_queue_data_in, 553 .queue_data_in = ft_queue_data_in,
555 .queue_status = ft_queue_status, 554 .queue_status = ft_queue_status,
556 .queue_tm_rsp = ft_queue_tm_resp, 555 .queue_tm_rsp = ft_queue_tm_resp,
diff --git a/include/target/target_core_fabric_ops.h b/include/target/target_core_fabric_ops.h
index 1752ed3f77fa..eba7201e5609 100644
--- a/include/target/target_core_fabric_ops.h
+++ b/include/target/target_core_fabric_ops.h
@@ -65,7 +65,6 @@ struct target_core_fabric_ops {
65 void (*set_default_node_attributes)(struct se_node_acl *); 65 void (*set_default_node_attributes)(struct se_node_acl *);
66 u32 (*get_task_tag)(struct se_cmd *); 66 u32 (*get_task_tag)(struct se_cmd *);
67 int (*get_cmd_state)(struct se_cmd *); 67 int (*get_cmd_state)(struct se_cmd *);
68 void (*new_cmd_failure)(struct se_cmd *);
69 int (*queue_data_in)(struct se_cmd *); 68 int (*queue_data_in)(struct se_cmd *);
70 int (*queue_status)(struct se_cmd *); 69 int (*queue_status)(struct se_cmd *);
71 int (*queue_tm_rsp)(struct se_cmd *); 70 int (*queue_tm_rsp)(struct se_cmd *);