Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit a1056b1b authored by Ilan Peer's avatar Ilan Peer Committed by Johannes Berg
Browse files

cfg80211: Add missing tracing to cfg80211



Add missing tracing for:

1. start_radar_detection()
2. set_mcast_rates()
3. set_coalesce()

Signed-off-by: default avatarIlan Peer <ilan.peer@intel.com>
Signed-off-by: default avatarEmmanuel Grumbach <emmanuel.grumbach@intel.com>
Signed-off-by: default avatarJohannes Berg <johannes.berg@intel.com>
parent 31104891
Loading
Loading
Loading
Loading
+4 −5
Original line number Diff line number Diff line
@@ -6507,8 +6507,7 @@ static int nl80211_start_radar_detection(struct sk_buff *skb,
	if (WARN_ON(!cac_time_ms))
		cac_time_ms = IEEE80211_DFS_MIN_CAC_TIME_MS;

	err = rdev->ops->start_radar_detection(&rdev->wiphy, dev, &chandef,
					       cac_time_ms);
	err = rdev_start_radar_detection(rdev, dev, &chandef, cac_time_ms);
	if (!err) {
		wdev->chandef = chandef;
		wdev->cac_started = true;
@@ -7571,7 +7570,7 @@ static int nl80211_set_mcast_rate(struct sk_buff *skb, struct genl_info *info)
	if (!nl80211_parse_mcast_rate(rdev, mcast_rate, nla_rate))
		return -EINVAL;

	err = rdev->ops->set_mcast_rate(&rdev->wiphy, dev, mcast_rate);
	err = rdev_set_mcast_rate(rdev, dev, mcast_rate);

	return err;
}
@@ -9716,7 +9715,7 @@ static int nl80211_set_coalesce(struct sk_buff *skb, struct genl_info *info)

	if (!info->attrs[NL80211_ATTR_COALESCE_RULE]) {
		cfg80211_rdev_free_coalesce(rdev);
		rdev->ops->set_coalesce(&rdev->wiphy, NULL);
		rdev_set_coalesce(rdev, NULL);
		return 0;
	}

@@ -9744,7 +9743,7 @@ static int nl80211_set_coalesce(struct sk_buff *skb, struct genl_info *info)
		i++;
	}

	err = rdev->ops->set_coalesce(&rdev->wiphy, &new_coalesce);
	err = rdev_set_coalesce(rdev, &new_coalesce);
	if (err)
		goto error;

+43 −0
Original line number Diff line number Diff line
@@ -1020,4 +1020,47 @@ rdev_tdls_cancel_channel_switch(struct cfg80211_registered_device *rdev,
	trace_rdev_return_void(&rdev->wiphy);
}

static inline int
rdev_start_radar_detection(struct cfg80211_registered_device *rdev,
			   struct net_device *dev,
			   struct cfg80211_chan_def *chandef,
			   u32 cac_time_ms)
{
	int ret = -ENOTSUPP;

	trace_rdev_start_radar_detection(&rdev->wiphy, dev, chandef,
					 cac_time_ms);
	if (rdev->ops->start_radar_detection)
		ret = rdev->ops->start_radar_detection(&rdev->wiphy, dev,
						       chandef, cac_time_ms);
	trace_rdev_return_int(&rdev->wiphy, ret);
	return ret;
}

static inline int
rdev_set_mcast_rate(struct cfg80211_registered_device *rdev,
		    struct net_device *dev,
		    int mcast_rate[IEEE80211_NUM_BANDS])
{
	int ret = -ENOTSUPP;

	trace_rdev_set_mcast_rate(&rdev->wiphy, dev, mcast_rate);
	if (rdev->ops->set_mcast_rate)
		ret = rdev->ops->set_mcast_rate(&rdev->wiphy, dev, mcast_rate);
	trace_rdev_return_int(&rdev->wiphy, ret);
	return ret;
}

static inline int
rdev_set_coalesce(struct cfg80211_registered_device *rdev,
		  struct cfg80211_coalesce *coalesce)
{
	int ret = -ENOTSUPP;

	trace_rdev_set_coalesce(&rdev->wiphy, coalesce);
	if (rdev->ops->set_coalesce)
		ret = rdev->ops->set_coalesce(&rdev->wiphy, coalesce);
	trace_rdev_return_int(&rdev->wiphy, ret);
	return ret;
}
#endif /* __CFG80211_RDEV_OPS */
+61 −0
Original line number Diff line number Diff line
@@ -2818,6 +2818,67 @@ TRACE_EVENT(cfg80211_stop_iface,
		  WIPHY_PR_ARG, WDEV_PR_ARG)
);

TRACE_EVENT(rdev_start_radar_detection,
	TP_PROTO(struct wiphy *wiphy, struct net_device *netdev,
		 struct cfg80211_chan_def *chandef,
		 u32 cac_time_ms),
	TP_ARGS(wiphy, netdev, chandef, cac_time_ms),
	TP_STRUCT__entry(
		WIPHY_ENTRY
		NETDEV_ENTRY
		CHAN_DEF_ENTRY
		__field(u32, cac_time_ms)
	),
	TP_fast_assign(
		WIPHY_ASSIGN;
		NETDEV_ASSIGN;
		CHAN_DEF_ASSIGN(chandef);
		__entry->cac_time_ms = cac_time_ms;
	),
	TP_printk(WIPHY_PR_FMT ", " NETDEV_PR_FMT ", " CHAN_DEF_PR_FMT
		  ", cac_time_ms=%u",
		  WIPHY_PR_ARG, NETDEV_PR_ARG, CHAN_DEF_PR_ARG,
		  __entry->cac_time_ms)
);

TRACE_EVENT(rdev_set_mcast_rate,
	TP_PROTO(struct wiphy *wiphy, struct net_device *netdev,
		 int mcast_rate[IEEE80211_NUM_BANDS]),
	TP_ARGS(wiphy, netdev, mcast_rate),
	TP_STRUCT__entry(
		WIPHY_ENTRY
		NETDEV_ENTRY
		__array(int, mcast_rate, IEEE80211_NUM_BANDS)
	),
	TP_fast_assign(
		WIPHY_ASSIGN;
		NETDEV_ASSIGN;
		memcpy(__entry->mcast_rate, mcast_rate,
		       sizeof(int) * IEEE80211_NUM_BANDS);
	),
	TP_printk(WIPHY_PR_FMT ", " NETDEV_PR_FMT ", "
		  "mcast_rates [2.4GHz=0x%x, 5.2GHz=0x%x, 60GHz=0x%x]",
		  WIPHY_PR_ARG, NETDEV_PR_ARG,
		  __entry->mcast_rate[IEEE80211_BAND_2GHZ],
		  __entry->mcast_rate[IEEE80211_BAND_5GHZ],
		  __entry->mcast_rate[IEEE80211_BAND_60GHZ])
);

TRACE_EVENT(rdev_set_coalesce,
	TP_PROTO(struct wiphy *wiphy, struct cfg80211_coalesce *coalesce),
	TP_ARGS(wiphy, coalesce),
	TP_STRUCT__entry(
		WIPHY_ENTRY
		__field(int, n_rules)
	),
	TP_fast_assign(
		WIPHY_ASSIGN;
		__entry->n_rules = coalesce ? coalesce->n_rules : 0;
	),
	TP_printk(WIPHY_PR_FMT ", n_rules=%d",
		  WIPHY_PR_ARG, __entry->n_rules)
);

#endif /* !__RDEV_OPS_TRACE || TRACE_HEADER_MULTI_READ */

#undef TRACE_INCLUDE_PATH