diff options
author | Mike Marciniszyn <mike.marciniszyn@intel.com> | 2017-10-02 21:04:11 +0300 |
---|---|---|
committer | Doug Ledford <dledford@redhat.com> | 2017-10-04 22:39:44 +0300 |
commit | e08aa5947688d711d3a2db07604f3f8225d67180 (patch) | |
tree | 3a0b0d5a1d1cf945df56ffb17aec9c8d46e5f44c | |
parent | 9773afb97fc30d22db14a425fea519f4a658dc4e (diff) | |
download | linux-e08aa5947688d711d3a2db07604f3f8225d67180.tar.xz |
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 863cf89d472f ("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>
-rw-r--r-- | drivers/infiniband/hw/hfi1/hfi.h | 1 | ||||
-rw-r--r-- | drivers/infiniband/hw/hfi1/trace_ibhdrs.h | 5 |
2 files changed, 4 insertions, 2 deletions
diff --git a/drivers/infiniband/hw/hfi1/hfi.h b/drivers/infiniband/hw/hfi1/hfi.h index cb74ae8b0991..44a2c8f86874 100644 --- a/drivers/infiniband/hw/hfi1/hfi.h +++ b/drivers/infiniband/hw/hfi1/hfi.h @@ -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 diff --git a/drivers/infiniband/hw/hfi1/trace_ibhdrs.h b/drivers/infiniband/hw/hfi1/trace_ibhdrs.h index 6dd0d639f27d..fb631278eccd 100644 --- a/drivers/infiniband/hw/hfi1/trace_ibhdrs.h +++ b/drivers/infiniband/hw/hfi1/trace_ibhdrs.h @@ -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; |