From: Hannes Reinecke <h...@suse.de>

Use 'list_splice_init()' instead of hand-crafted function.
No functional change.

Signed-off-by: Suganath Prabu S <suganath-prabu.subram...@broadcom.com>
Signed-off-by: Chaitra P B <chaitra.basa...@broadcom.com>
---
 drivers/scsi/mpt3sas/mpt3sas_base.c | 11 ++---------
 1 file changed, 2 insertions(+), 9 deletions(-)

diff --git a/drivers/scsi/mpt3sas/mpt3sas_base.c 
b/drivers/scsi/mpt3sas/mpt3sas_base.c
index 0119a39..5a9ad26 100644
--- a/drivers/scsi/mpt3sas/mpt3sas_base.c
+++ b/drivers/scsi/mpt3sas/mpt3sas_base.c
@@ -2885,20 +2885,13 @@ mpt3sas_base_free_smid(struct MPT3SAS_ADAPTER *ioc, u16 
smid)
 {
        unsigned long flags;
        int i;
-       struct chain_tracker *chain_req, *next;
 
        spin_lock_irqsave(&ioc->scsi_lookup_lock, flags);
        if (smid < ioc->hi_priority_smid) {
                /* scsiio queue */
                i = smid - 1;
-               if (!list_empty(&ioc->scsi_lookup[i].chain_list)) {
-                       list_for_each_entry_safe(chain_req, next,
-                           &ioc->scsi_lookup[i].chain_list, tracker_list) {
-                               list_del_init(&chain_req->tracker_list);
-                               list_add(&chain_req->tracker_list,
-                                   &ioc->free_chain_list);
-                       }
-               }
+               list_splice_init(&ioc->scsi_lookup[i].chain_list,
+                                &ioc->free_chain_list);
                ioc->scsi_lookup[i].cb_idx = 0xFF;
                ioc->scsi_lookup[i].scmd = NULL;
                ioc->scsi_lookup[i].direct_io = 0;
-- 
2.5.5

Reply via email to