]> www.infradead.org Git - users/jedix/linux-maple.git/commitdiff
Initialize fiblink list head during fib initialization
authorDave Carroll <david.carroll@microsemi.com>
Thu, 22 Jun 2017 18:44:09 +0000 (12:44 -0600)
committerKirtikar Kashyap <kirtikar.kashyap@oracle.com>
Mon, 10 Jul 2017 22:21:03 +0000 (15:21 -0700)
The fiblink pointer is used extensively for the sync mode driver, and has never been initialized
Initialize this during the fib_setup operation, and for copied fibs

Orabug: 26291289

Signed-off-by: Dave Carroll <david.carroll@microsemi.com>
Signed-off-by: Kirtikar Kashyap <kirtikar.kashyap@oracle.com>
Reviewed-by: Dhaval Giani <dhaval.giani@oracle.com>
drivers/scsi/aacraid/commsup.c

index 0aeecec1f5eafa6390a020eb0174cb2582519524..8884c04119062d6a8d5958573d29fd950b337583 100644 (file)
@@ -169,6 +169,7 @@ int aac_fib_setup(struct aac_dev * dev)
                fibptr->next = fibptr+1;        /* Forward chain the fibs */
                sema_init(&fibptr->event_wait, 0);
                spin_lock_init(&fibptr->event_lock);
+               INIT_LIST_HEAD(&fibptr->fiblink);
                hw_fib->header.XferState = cpu_to_le32(0xffffffff);
                hw_fib->header.SenderSize = cpu_to_le16(dev->max_fib_size);
                fibptr->hw_fib_pa = hw_fib_pa;
@@ -1667,6 +1668,7 @@ int aac_check_health(struct aac_dev * aac)
                        fib->type = FSAFS_NTC_FIB_CONTEXT;
                        fib->size = sizeof (struct fib);
                        fib->data = hw_fib->data;
+                       INIT_LIST_HEAD(&fib->fiblink);
                        aif = (struct aac_aifcmd *)hw_fib->data;
                        aif->command = cpu_to_le32(AifCmdEventNotify);
                        aif->seqnum = cpu_to_le32(0xFFFFFFFF);
@@ -1906,6 +1908,7 @@ int aac_command_thread(void *data)
                                                memcpy(hw_newfib, hw_fib, sizeof(struct hw_fib));
                                                memcpy(newfib, fib, sizeof(struct fib));
                                                newfib->hw_fib_va = hw_newfib;
+                                               INIT_LIST_HEAD(&newfib->fiblink);
                                                /*
                                                 * Put the FIB onto the
                                                 * fibctx's fibs