The rport lock gets initialized during offload. If a non-FCP or non-target
rport got logout then this rport will be uninitialized. KASAN was
complaining because of it.
=========
[   14.384434] the code is fine but needs lockdep annotation.
[   14.384482] turning off the locking correctness validator.
========
Link: https://lore.kernel.org/r/20200807110656.19965-2-jhasan@marvell.com
Signed-off-by: Saurav Kashyap <skashyap@marvell.com>
Signed-off-by: Javed Hasan <jhasan@marvell.com>
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
 
                if (port_id == FC_FID_DIR_SERV)
                        break;
 
+               if (rdata->spp_type != FC_TYPE_FCP) {
+                       QEDF_INFO(&(qedf->dbg_ctx), QEDF_LOG_DISC,
+                           "No action since spp type isn't FCP\n");
+                       break;
+               }
+               if (!(rdata->ids.roles & FC_RPORT_ROLE_FCP_TARGET)) {
+                       QEDF_INFO(&(qedf->dbg_ctx), QEDF_LOG_DISC,
+                           "Not FCP target so no action\n");
+                       break;
+               }
+
                if (!rport) {
                        QEDF_INFO(&(qedf->dbg_ctx), QEDF_LOG_DISC,
                            "port_id=%x - rport notcreated Yet!!\n", port_id);