diff options
-rw-r--r-- | drivers/target/target_core_transport.c | 11 | ||||
-rw-r--r-- | include/target/target_core_base.h | 3 |
2 files changed, 0 insertions, 14 deletions
diff --git a/drivers/target/target_core_transport.c b/drivers/target/target_core_transport.c index db2271c18030..a66050ec2c2f 100644 --- a/drivers/target/target_core_transport.c +++ b/drivers/target/target_core_transport.c | |||
@@ -1332,12 +1332,10 @@ struct se_device *transport_add_device_to_core_hba( | |||
1332 | INIT_LIST_HEAD(&dev->dev_tmr_list); | 1332 | INIT_LIST_HEAD(&dev->dev_tmr_list); |
1333 | INIT_LIST_HEAD(&dev->execute_task_list); | 1333 | INIT_LIST_HEAD(&dev->execute_task_list); |
1334 | INIT_LIST_HEAD(&dev->delayed_cmd_list); | 1334 | INIT_LIST_HEAD(&dev->delayed_cmd_list); |
1335 | INIT_LIST_HEAD(&dev->ordered_cmd_list); | ||
1336 | INIT_LIST_HEAD(&dev->state_task_list); | 1335 | INIT_LIST_HEAD(&dev->state_task_list); |
1337 | INIT_LIST_HEAD(&dev->qf_cmd_list); | 1336 | INIT_LIST_HEAD(&dev->qf_cmd_list); |
1338 | spin_lock_init(&dev->execute_task_lock); | 1337 | spin_lock_init(&dev->execute_task_lock); |
1339 | spin_lock_init(&dev->delayed_cmd_lock); | 1338 | spin_lock_init(&dev->delayed_cmd_lock); |
1340 | spin_lock_init(&dev->ordered_cmd_lock); | ||
1341 | spin_lock_init(&dev->state_task_lock); | 1339 | spin_lock_init(&dev->state_task_lock); |
1342 | spin_lock_init(&dev->dev_alua_lock); | 1340 | spin_lock_init(&dev->dev_alua_lock); |
1343 | spin_lock_init(&dev->dev_reservation_lock); | 1341 | spin_lock_init(&dev->dev_reservation_lock); |
@@ -1498,7 +1496,6 @@ void transport_init_se_cmd( | |||
1498 | { | 1496 | { |
1499 | INIT_LIST_HEAD(&cmd->se_lun_node); | 1497 | INIT_LIST_HEAD(&cmd->se_lun_node); |
1500 | INIT_LIST_HEAD(&cmd->se_delayed_node); | 1498 | INIT_LIST_HEAD(&cmd->se_delayed_node); |
1501 | INIT_LIST_HEAD(&cmd->se_ordered_node); | ||
1502 | INIT_LIST_HEAD(&cmd->se_qf_node); | 1499 | INIT_LIST_HEAD(&cmd->se_qf_node); |
1503 | INIT_LIST_HEAD(&cmd->se_queue_node); | 1500 | INIT_LIST_HEAD(&cmd->se_queue_node); |
1504 | INIT_LIST_HEAD(&cmd->se_cmd_list); | 1501 | INIT_LIST_HEAD(&cmd->se_cmd_list); |
@@ -1963,11 +1960,6 @@ static inline int transport_execute_task_attr(struct se_cmd *cmd) | |||
1963 | cmd->se_ordered_id); | 1960 | cmd->se_ordered_id); |
1964 | return 1; | 1961 | return 1; |
1965 | } else if (cmd->sam_task_attr == MSG_ORDERED_TAG) { | 1962 | } else if (cmd->sam_task_attr == MSG_ORDERED_TAG) { |
1966 | spin_lock(&cmd->se_dev->ordered_cmd_lock); | ||
1967 | list_add_tail(&cmd->se_ordered_node, | ||
1968 | &cmd->se_dev->ordered_cmd_list); | ||
1969 | spin_unlock(&cmd->se_dev->ordered_cmd_lock); | ||
1970 | |||
1971 | atomic_inc(&cmd->se_dev->dev_ordered_sync); | 1963 | atomic_inc(&cmd->se_dev->dev_ordered_sync); |
1972 | smp_mb__after_atomic_inc(); | 1964 | smp_mb__after_atomic_inc(); |
1973 | 1965 | ||
@@ -3100,11 +3092,8 @@ static void transport_complete_task_attr(struct se_cmd *cmd) | |||
3100 | " HEAD_OF_QUEUE: %u\n", dev->dev_cur_ordered_id, | 3092 | " HEAD_OF_QUEUE: %u\n", dev->dev_cur_ordered_id, |
3101 | cmd->se_ordered_id); | 3093 | cmd->se_ordered_id); |
3102 | } else if (cmd->sam_task_attr == MSG_ORDERED_TAG) { | 3094 | } else if (cmd->sam_task_attr == MSG_ORDERED_TAG) { |
3103 | spin_lock(&dev->ordered_cmd_lock); | ||
3104 | list_del(&cmd->se_ordered_node); | ||
3105 | atomic_dec(&dev->dev_ordered_sync); | 3095 | atomic_dec(&dev->dev_ordered_sync); |
3106 | smp_mb__after_atomic_dec(); | 3096 | smp_mb__after_atomic_dec(); |
3107 | spin_unlock(&dev->ordered_cmd_lock); | ||
3108 | 3097 | ||
3109 | dev->dev_cur_ordered_id++; | 3098 | dev->dev_cur_ordered_id++; |
3110 | pr_debug("Incremented dev_cur_ordered_id: %u for ORDERED:" | 3099 | pr_debug("Incremented dev_cur_ordered_id: %u for ORDERED:" |
diff --git a/include/target/target_core_base.h b/include/target/target_core_base.h index f63997316dab..29773342f2c6 100644 --- a/include/target/target_core_base.h +++ b/include/target/target_core_base.h | |||
@@ -439,7 +439,6 @@ struct se_cmd { | |||
439 | /* Used for sense data */ | 439 | /* Used for sense data */ |
440 | void *sense_buffer; | 440 | void *sense_buffer; |
441 | struct list_head se_delayed_node; | 441 | struct list_head se_delayed_node; |
442 | struct list_head se_ordered_node; | ||
443 | struct list_head se_lun_node; | 442 | struct list_head se_lun_node; |
444 | struct list_head se_qf_node; | 443 | struct list_head se_qf_node; |
445 | struct se_device *se_dev; | 444 | struct se_device *se_dev; |
@@ -730,7 +729,6 @@ struct se_device { | |||
730 | struct se_obj dev_export_obj; | 729 | struct se_obj dev_export_obj; |
731 | struct se_queue_obj dev_queue_obj; | 730 | struct se_queue_obj dev_queue_obj; |
732 | spinlock_t delayed_cmd_lock; | 731 | spinlock_t delayed_cmd_lock; |
733 | spinlock_t ordered_cmd_lock; | ||
734 | spinlock_t execute_task_lock; | 732 | spinlock_t execute_task_lock; |
735 | spinlock_t state_task_lock; | 733 | spinlock_t state_task_lock; |
736 | spinlock_t dev_alua_lock; | 734 | spinlock_t dev_alua_lock; |
@@ -756,7 +754,6 @@ struct se_device { | |||
756 | struct task_struct *dev_mgmt_thread; | 754 | struct task_struct *dev_mgmt_thread; |
757 | struct work_struct qf_work_queue; | 755 | struct work_struct qf_work_queue; |
758 | struct list_head delayed_cmd_list; | 756 | struct list_head delayed_cmd_list; |
759 | struct list_head ordered_cmd_list; | ||
760 | struct list_head execute_task_list; | 757 | struct list_head execute_task_list; |
761 | struct list_head state_task_list; | 758 | struct list_head state_task_list; |
762 | struct list_head qf_cmd_list; | 759 | struct list_head qf_cmd_list; |