]> git.baikalelectronics.ru Git - kernel.git/commitdiff
scsi: qla2xxx: edif: Use link event to wake up app
authorQuinn Tran <qutran@marvell.com>
Wed, 8 Sep 2021 16:46:17 +0000 (09:46 -0700)
committerMartin K. Petersen <martin.petersen@oracle.com>
Wed, 15 Sep 2021 03:33:19 +0000 (23:33 -0400)
Authentication application may be running and in the past tried to probe
driver (app_start) but was unsuccessful. This could be due to the bsg layer
not being ready to service the request. On a successful link up, driver
will use the netlink Link Up event to notify the app to retry the app_start
call.

In another case, app does not poll for new NPIV host. This link up event
would notify app of the presence of a new SCSI host.

Link: https://lore.kernel.org/r/20210908164622.19240-6-njavali@marvell.com
Fixes: 03d1f5917d23 ("scsi: qla2xxx: edif: Add N2N support for EDIF")
Reviewed-by: Himanshu Madhani <himanshu.madhani@oracle.com>
Signed-off-by: Quinn Tran <qutran@marvell.com>
Signed-off-by: Nilesh Javali <njavali@marvell.com>
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
drivers/scsi/qla2xxx/qla_init.c

index 1e4e3e83b5c747bec8f2abea96e07f359f204ad2..c6b3d0e7489e91b39be20ba12bc234a2c86e7745 100644 (file)
@@ -5335,15 +5335,14 @@ qla2x00_configure_loop(scsi_qla_host_t *vha)
                            "LOOP READY.\n");
                        ha->flags.fw_init_done = 1;
 
+                       /*
+                        * use link up to wake up app to get ready for
+                        * authentication.
+                        */
                        if (ha->flags.edif_enabled &&
-                           !(vha->e_dbell.db_flags & EDB_ACTIVE) &&
-                           N2N_TOPO(vha->hw)) {
-                               /*
-                                * use port online to wake up app to get ready
-                                * for authentication
-                                */
-                               qla2x00_post_aen_work(vha, FCH_EVT_PORT_ONLINE, 0);
-                       }
+                           !(vha->e_dbell.db_flags & EDB_ACTIVE))
+                               qla2x00_post_aen_work(vha, FCH_EVT_LINKUP,
+                                                     ha->link_data_rate);
 
                        /*
                         * Process any ATIO queue entries that came in