IB/hfi1: Fix output trace issues from 16B change

The 16B changes to the output side of the header trace introduced
two issues:

1. An uninitialized field "l4" for 9B packets

   This field needs to be given a value of 0 for 9B
   packets to insure a correct 9B trace.

   The fix adds a new define to insure that there is a dummy
   default for 9B packets to insure the correct string
   is decoded.

2. Use of entry vs. __entry in field references

Fixes: Commit 863cf89d47 ("IB/hfi1: Add 16B trace support")
Reported-by: Kaike Wan <kaike.wan@intel.com>
Reviewed-by: Don Hiatt <don.hiatt@intel.com>
Signed-off-by: Mike Marciniszyn <mike.marciniszyn@intel.com>
Signed-off-by: Dennis Dalessandro <dennis.dalessandro@intel.com>
Signed-off-by: Doug Ledford <dledford@redhat.com>
This commit is contained in:
Mike Marciniszyn 2017-10-02 11:04:11 -07:00 committed by Doug Ledford
parent 9773afb97f
commit e08aa59476
2 changed files with 4 additions and 2 deletions

View File

@ -390,6 +390,7 @@ struct hfi1_packet {
/* /*
* OPA 16B L2/L4 Encodings * OPA 16B L2/L4 Encodings
*/ */
#define OPA_16B_L4_9B 0x00
#define OPA_16B_L2_TYPE 0x02 #define OPA_16B_L2_TYPE 0x02
#define OPA_16B_L4_IB_LOCAL 0x09 #define OPA_16B_L4_IB_LOCAL 0x09
#define OPA_16B_L4_IB_GLOBAL 0x0A #define OPA_16B_L4_IB_GLOBAL 0x0A

View File

@ -334,7 +334,7 @@ DECLARE_EVENT_CLASS(hfi1_output_ibhdr_template,
&__entry->dlid, &__entry->dlid,
&__entry->slid); &__entry->slid);
if (entry->l4 == OPA_16B_L4_IB_LOCAL) if (__entry->l4 == OPA_16B_L4_IB_LOCAL)
ohdr = &opah->opah.u.oth; ohdr = &opah->opah.u.oth;
else else
ohdr = &opah->opah.u.l.oth; ohdr = &opah->opah.u.l.oth;
@ -348,6 +348,7 @@ DECLARE_EVENT_CLASS(hfi1_output_ibhdr_template,
&__entry->psn, &__entry->psn,
&__entry->qpn); &__entry->qpn);
} else { } else {
__entry->l4 = OPA_16B_L4_9B;
hfi1_trace_parse_9b_hdr(&opah->ibh, sc5, hfi1_trace_parse_9b_hdr(&opah->ibh, sc5,
&__entry->lnh, &__entry->lnh,
&__entry->lver, &__entry->lver,
@ -356,7 +357,7 @@ DECLARE_EVENT_CLASS(hfi1_output_ibhdr_template,
&__entry->len, &__entry->len,
&__entry->dlid, &__entry->dlid,
&__entry->slid); &__entry->slid);
if (entry->lnh == HFI1_LRH_BTH) if (__entry->lnh == HFI1_LRH_BTH)
ohdr = &opah->ibh.u.oth; ohdr = &opah->ibh.u.oth;
else else
ohdr = &opah->ibh.u.l.oth; ohdr = &opah->ibh.u.l.oth;