mirror of https://gitee.com/openkylin/linux.git
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:
parent
9773afb97f
commit
e08aa59476
|
@ -390,6 +390,7 @@ struct hfi1_packet {
|
|||
/*
|
||||
* OPA 16B L2/L4 Encodings
|
||||
*/
|
||||
#define OPA_16B_L4_9B 0x00
|
||||
#define OPA_16B_L2_TYPE 0x02
|
||||
#define OPA_16B_L4_IB_LOCAL 0x09
|
||||
#define OPA_16B_L4_IB_GLOBAL 0x0A
|
||||
|
|
|
@ -334,7 +334,7 @@ DECLARE_EVENT_CLASS(hfi1_output_ibhdr_template,
|
|||
&__entry->dlid,
|
||||
&__entry->slid);
|
||||
|
||||
if (entry->l4 == OPA_16B_L4_IB_LOCAL)
|
||||
if (__entry->l4 == OPA_16B_L4_IB_LOCAL)
|
||||
ohdr = &opah->opah.u.oth;
|
||||
else
|
||||
ohdr = &opah->opah.u.l.oth;
|
||||
|
@ -348,6 +348,7 @@ DECLARE_EVENT_CLASS(hfi1_output_ibhdr_template,
|
|||
&__entry->psn,
|
||||
&__entry->qpn);
|
||||
} else {
|
||||
__entry->l4 = OPA_16B_L4_9B;
|
||||
hfi1_trace_parse_9b_hdr(&opah->ibh, sc5,
|
||||
&__entry->lnh,
|
||||
&__entry->lver,
|
||||
|
@ -356,7 +357,7 @@ DECLARE_EVENT_CLASS(hfi1_output_ibhdr_template,
|
|||
&__entry->len,
|
||||
&__entry->dlid,
|
||||
&__entry->slid);
|
||||
if (entry->lnh == HFI1_LRH_BTH)
|
||||
if (__entry->lnh == HFI1_LRH_BTH)
|
||||
ohdr = &opah->ibh.u.oth;
|
||||
else
|
||||
ohdr = &opah->ibh.u.l.oth;
|
||||
|
|
Loading…
Reference in New Issue