Commit 30b442b3 authored by David Lin's avatar David Lin Committed by Greg Kroah-Hartman

greybus: greybus_trace: Fix broken greybus ftrace

Enabling greybus ftrace event causes null pointer access due to
that gb_message to SVC has no Bundle. Fix it by handling this in
the trace header.

Testing Done:
$ echo 1 > /d/tracing/event/greybus/enable
 [002] ...1    54.504426: gb_message_send: greybus:1-svc op=0023 if_id=0 hd_id=0 l=0
 [002] ...1    54.504461: gb_host_device_send: greybus:greybus1 if_id=0 l=8
Signed-off-by: default avatarDavid Lin <dtwlin@google.com>
Reviewed-by: default avatarBryan O'Donoghue <bryan.odonoghue@linaro.org>
Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@google.com>
parent 309520ec
...@@ -17,6 +17,11 @@ ...@@ -17,6 +17,11 @@
struct gb_message; struct gb_message;
struct gb_host_device; struct gb_host_device;
#define gb_bundle_name(message) \
(message->operation->connection->bundle ? \
dev_name(&message->operation->connection->bundle->dev) : \
dev_name(&message->operation->connection->hd->svc->dev))
DECLARE_EVENT_CLASS(gb_message, DECLARE_EVENT_CLASS(gb_message,
TP_PROTO(struct gb_message *message), TP_PROTO(struct gb_message *message),
...@@ -24,7 +29,7 @@ DECLARE_EVENT_CLASS(gb_message, ...@@ -24,7 +29,7 @@ DECLARE_EVENT_CLASS(gb_message,
TP_ARGS(message), TP_ARGS(message),
TP_STRUCT__entry( TP_STRUCT__entry(
__string(name, dev_name(&message->operation->connection->bundle->dev)) __string(name, gb_bundle_name(message))
__field(u16, op_id) __field(u16, op_id)
__field(u16, intf_cport_id) __field(u16, intf_cport_id)
__field(u16, hd_cport_id) __field(u16, hd_cport_id)
...@@ -32,7 +37,7 @@ DECLARE_EVENT_CLASS(gb_message, ...@@ -32,7 +37,7 @@ DECLARE_EVENT_CLASS(gb_message,
), ),
TP_fast_assign( TP_fast_assign(
__assign_str(name, dev_name(&message->operation->connection->bundle->dev)) __assign_str(name, gb_bundle_name(message))
__entry->op_id = message->operation->id; __entry->op_id = message->operation->id;
__entry->intf_cport_id = __entry->intf_cport_id =
message->operation->connection->intf_cport_id; message->operation->connection->intf_cport_id;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment