Skip to content

Commit 9b9b859

Browse files
Karan Tilak Kumarmartinkpetersen
authored andcommitted
scsi: fnic: Add and improve logs in FDMI and FDMI ABTS paths
Add logs in FDMI and FDMI ABTS paths. Modify log text in these paths. Reviewed-by: Sesidhar Baddela <[email protected]> Reviewed-by: Arulprabhu Ponnusamy <[email protected]> Reviewed-by: Gian Carlo Boffa <[email protected]> Reviewed-by: Arun Easi <[email protected]> Reviewed-by: John Meneghini <[email protected]> Signed-off-by: Karan Tilak Kumar <[email protected]> Link: https://lore.kernel.org/r/[email protected] Signed-off-by: Martin K. Petersen <[email protected]>
1 parent 74f46a0 commit 9b9b859

File tree

1 file changed

+58
-7
lines changed

1 file changed

+58
-7
lines changed

drivers/scsi/fnic/fdls_disc.c

Lines changed: 58 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -791,6 +791,7 @@ static uint8_t *fdls_alloc_init_fdmi_abts_frame(struct fnic_iport_s *iport,
791791
static void fdls_send_fdmi_abts(struct fnic_iport_s *iport)
792792
{
793793
uint8_t *frame;
794+
struct fnic *fnic = iport->fnic;
794795
unsigned long fdmi_tov;
795796
uint16_t frame_size = FNIC_ETH_FCOE_HDRS_OFFSET +
796797
sizeof(struct fc_frame_header);
@@ -801,6 +802,9 @@ static void fdls_send_fdmi_abts(struct fnic_iport_s *iport)
801802
if (frame == NULL)
802803
return;
803804

805+
FNIC_FCS_DBG(KERN_INFO, fnic->host, fnic->fnic_num,
806+
"0x%x: FDLS send FDMI PLOGI abts. iport->fabric.state: %d oxid: 0x%x",
807+
iport->fcid, iport->fabric.state, iport->active_oxid_fdmi_plogi);
804808
fnic_send_fcoe_frame(iport, frame, frame_size);
805809
} else {
806810
if (iport->fabric.fdmi_pending & FDLS_FDMI_REG_HBA_PENDING) {
@@ -809,6 +813,9 @@ static void fdls_send_fdmi_abts(struct fnic_iport_s *iport)
809813
if (frame == NULL)
810814
return;
811815

816+
FNIC_FCS_DBG(KERN_INFO, fnic->host, fnic->fnic_num,
817+
"0x%x: FDLS send FDMI RHBA abts. iport->fabric.state: %d oxid: 0x%x",
818+
iport->fcid, iport->fabric.state, iport->active_oxid_fdmi_rhba);
812819
fnic_send_fcoe_frame(iport, frame, frame_size);
813820
}
814821
if (iport->fabric.fdmi_pending & FDLS_FDMI_RPA_PENDING) {
@@ -821,6 +828,9 @@ static void fdls_send_fdmi_abts(struct fnic_iport_s *iport)
821828
return;
822829
}
823830

831+
FNIC_FCS_DBG(KERN_INFO, fnic->host, fnic->fnic_num,
832+
"0x%x: FDLS send FDMI RPA abts. iport->fabric.state: %d oxid: 0x%x",
833+
iport->fcid, iport->fabric.state, iport->active_oxid_fdmi_rpa);
824834
fnic_send_fcoe_frame(iport, frame, frame_size);
825835
}
826836
}
@@ -829,6 +839,10 @@ static void fdls_send_fdmi_abts(struct fnic_iport_s *iport)
829839
fdmi_tov = jiffies + msecs_to_jiffies(2 * iport->e_d_tov);
830840
mod_timer(&iport->fabric.fdmi_timer, round_jiffies(fdmi_tov));
831841
iport->fabric.fdmi_pending |= FDLS_FDMI_ABORT_PENDING;
842+
843+
FNIC_FCS_DBG(KERN_INFO, fnic->host, fnic->fnic_num,
844+
"0x%x: iport->fabric.fdmi_pending: 0x%x",
845+
iport->fcid, iport->fabric.fdmi_pending);
832846
}
833847

834848
static void fdls_send_fabric_flogi(struct fnic_iport_s *iport)
@@ -2294,15 +2308,15 @@ void fdls_fdmi_timer_callback(struct timer_list *t)
22942308
spin_lock_irqsave(&fnic->fnic_lock, flags);
22952309

22962310
FNIC_FCS_DBG(KERN_INFO, fnic->host, fnic->fnic_num,
2297-
"fdmi timer callback : 0x%x\n", iport->fabric.fdmi_pending);
2311+
"iport->fabric.fdmi_pending: 0x%x\n", iport->fabric.fdmi_pending);
22982312

22992313
if (!iport->fabric.fdmi_pending) {
23002314
/* timer expired after fdmi responses received. */
23012315
spin_unlock_irqrestore(&fnic->fnic_lock, flags);
23022316
return;
23032317
}
23042318
FNIC_FCS_DBG(KERN_INFO, fnic->host, fnic->fnic_num,
2305-
"fdmi timer callback : 0x%x\n", iport->fabric.fdmi_pending);
2319+
"iport->fabric.fdmi_pending: 0x%x\n", iport->fabric.fdmi_pending);
23062320

23072321
/* if not abort pending, send an abort */
23082322
if (!(iport->fabric.fdmi_pending & FDLS_FDMI_ABORT_PENDING)) {
@@ -2311,26 +2325,37 @@ void fdls_fdmi_timer_callback(struct timer_list *t)
23112325
return;
23122326
}
23132327
FNIC_FCS_DBG(KERN_INFO, fnic->host, fnic->fnic_num,
2314-
"fdmi timer callback : 0x%x\n", iport->fabric.fdmi_pending);
2328+
"iport->fabric.fdmi_pending: 0x%x\n", iport->fabric.fdmi_pending);
23152329

23162330
/* ABTS pending for an active fdmi request that is pending.
23172331
* That means FDMI ABTS timed out
23182332
* Schedule to free the OXID after 2*r_a_tov and proceed
23192333
*/
23202334
if (iport->fabric.fdmi_pending & FDLS_FDMI_PLOGI_PENDING) {
2335+
FNIC_FCS_DBG(KERN_INFO, fnic->host, fnic->fnic_num,
2336+
"FDMI PLOGI ABTS timed out. Schedule oxid free: 0x%x\n",
2337+
iport->active_oxid_fdmi_plogi);
23212338
fdls_schedule_oxid_free(iport, &iport->active_oxid_fdmi_plogi);
23222339
} else {
2323-
if (iport->fabric.fdmi_pending & FDLS_FDMI_REG_HBA_PENDING)
2340+
if (iport->fabric.fdmi_pending & FDLS_FDMI_REG_HBA_PENDING) {
2341+
FNIC_FCS_DBG(KERN_INFO, fnic->host, fnic->fnic_num,
2342+
"FDMI RHBA ABTS timed out. Schedule oxid free: 0x%x\n",
2343+
iport->active_oxid_fdmi_rhba);
23242344
fdls_schedule_oxid_free(iport, &iport->active_oxid_fdmi_rhba);
2325-
if (iport->fabric.fdmi_pending & FDLS_FDMI_RPA_PENDING)
2345+
}
2346+
if (iport->fabric.fdmi_pending & FDLS_FDMI_RPA_PENDING) {
2347+
FNIC_FCS_DBG(KERN_INFO, fnic->host, fnic->fnic_num,
2348+
"FDMI RPA ABTS timed out. Schedule oxid free: 0x%x\n",
2349+
iport->active_oxid_fdmi_rpa);
23262350
fdls_schedule_oxid_free(iport, &iport->active_oxid_fdmi_rpa);
2351+
}
23272352
}
23282353
FNIC_FCS_DBG(KERN_INFO, fnic->host, fnic->fnic_num,
2329-
"fdmi timer callback : 0x%x\n", iport->fabric.fdmi_pending);
2354+
"iport->fabric.fdmi_pending: 0x%x\n", iport->fabric.fdmi_pending);
23302355

23312356
fdls_fdmi_retry_plogi(iport);
23322357
FNIC_FCS_DBG(KERN_INFO, fnic->host, fnic->fnic_num,
2333-
"fdmi timer callback : 0x%x\n", iport->fabric.fdmi_pending);
2358+
"iport->fabric.fdmi_pending: 0x%x\n", iport->fabric.fdmi_pending);
23342359
spin_unlock_irqrestore(&fnic->fnic_lock, flags);
23352360
}
23362361

@@ -3745,12 +3770,26 @@ static void fdls_process_fdmi_abts_rsp(struct fnic_iport_s *iport,
37453770

37463771
switch (FNIC_FRAME_TYPE(oxid)) {
37473772
case FNIC_FRAME_TYPE_FDMI_PLOGI:
3773+
FNIC_FCS_DBG(KERN_INFO, fnic->host, fnic->fnic_num,
3774+
"Received FDMI PLOGI ABTS rsp with oxid: 0x%x", oxid);
3775+
FNIC_FCS_DBG(KERN_INFO, fnic->host, fnic->fnic_num,
3776+
"0x%x: iport->fabric.fdmi_pending: 0x%x",
3777+
iport->fcid, iport->fabric.fdmi_pending);
37483778
fdls_free_oxid(iport, oxid, &iport->active_oxid_fdmi_plogi);
37493779

37503780
iport->fabric.fdmi_pending &= ~FDLS_FDMI_PLOGI_PENDING;
37513781
iport->fabric.fdmi_pending &= ~FDLS_FDMI_ABORT_PENDING;
3782+
FNIC_FCS_DBG(KERN_INFO, fnic->host, fnic->fnic_num,
3783+
"0x%x: iport->fabric.fdmi_pending: 0x%x",
3784+
iport->fcid, iport->fabric.fdmi_pending);
37523785
break;
37533786
case FNIC_FRAME_TYPE_FDMI_RHBA:
3787+
FNIC_FCS_DBG(KERN_INFO, fnic->host, fnic->fnic_num,
3788+
"Received FDMI RHBA ABTS rsp with oxid: 0x%x", oxid);
3789+
FNIC_FCS_DBG(KERN_INFO, fnic->host, fnic->fnic_num,
3790+
"0x%x: iport->fabric.fdmi_pending: 0x%x",
3791+
iport->fcid, iport->fabric.fdmi_pending);
3792+
37543793
iport->fabric.fdmi_pending &= ~FDLS_FDMI_REG_HBA_PENDING;
37553794

37563795
/* If RPA is still pending, don't turn off ABORT PENDING.
@@ -3761,8 +3800,17 @@ static void fdls_process_fdmi_abts_rsp(struct fnic_iport_s *iport,
37613800
iport->fabric.fdmi_pending &= ~FDLS_FDMI_ABORT_PENDING;
37623801

37633802
fdls_free_oxid(iport, oxid, &iport->active_oxid_fdmi_rhba);
3803+
FNIC_FCS_DBG(KERN_INFO, fnic->host, fnic->fnic_num,
3804+
"0x%x: iport->fabric.fdmi_pending: 0x%x",
3805+
iport->fcid, iport->fabric.fdmi_pending);
37643806
break;
37653807
case FNIC_FRAME_TYPE_FDMI_RPA:
3808+
FNIC_FCS_DBG(KERN_INFO, fnic->host, fnic->fnic_num,
3809+
"Received FDMI RPA ABTS rsp with oxid: 0x%x", oxid);
3810+
FNIC_FCS_DBG(KERN_INFO, fnic->host, fnic->fnic_num,
3811+
"0x%x: iport->fabric.fdmi_pending: 0x%x",
3812+
iport->fcid, iport->fabric.fdmi_pending);
3813+
37663814
iport->fabric.fdmi_pending &= ~FDLS_FDMI_RPA_PENDING;
37673815

37683816
/* If RHBA is still pending, don't turn off ABORT PENDING.
@@ -3773,6 +3821,9 @@ static void fdls_process_fdmi_abts_rsp(struct fnic_iport_s *iport,
37733821
iport->fabric.fdmi_pending &= ~FDLS_FDMI_ABORT_PENDING;
37743822

37753823
fdls_free_oxid(iport, oxid, &iport->active_oxid_fdmi_rpa);
3824+
FNIC_FCS_DBG(KERN_INFO, fnic->host, fnic->fnic_num,
3825+
"0x%x: iport->fabric.fdmi_pending: 0x%x",
3826+
iport->fcid, iport->fabric.fdmi_pending);
37763827
break;
37773828
default:
37783829
FNIC_FCS_DBG(KERN_INFO, fnic->host, fnic->fnic_num,

0 commit comments

Comments
 (0)