diff options
author | Markus Theil <markus.theil@tu-ilmenau.de> | 2020-05-08 16:42:00 +0200 |
---|---|---|
committer | Johannes Berg <johannes.berg@intel.com> | 2020-05-27 10:02:04 +0200 |
commit | dca9ca2d588bd2c0989c671f048540b82e57cf1e (patch) | |
tree | fc7438876e9248a3227b28806404d90de40afa20 /net/wireless/rdev-ops.h | |
parent | 3c23215ba8c70c0e9b16beffb7f700a401391e38 (diff) | |
download | linux-stable-dca9ca2d588bd2c0989c671f048540b82e57cf1e.tar.gz linux-stable-dca9ca2d588bd2c0989c671f048540b82e57cf1e.tar.bz2 linux-stable-dca9ca2d588bd2c0989c671f048540b82e57cf1e.zip |
nl80211: add ability to report TX status for control port TX
This adds the necessary capabilities in nl80211 to allow drivers to
assign a cookie to control port TX frames (returned via extack in
the netlink ACK message of the command) and then later report the
frame's status.
Signed-off-by: Markus Theil <markus.theil@tu-ilmenau.de>
Link: https://lore.kernel.org/r/20200508144202.7678-2-markus.theil@tu-ilmenau.de
[use extack cookie instead of explicit message, recombine patches]
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Diffstat (limited to 'net/wireless/rdev-ops.h')
-rw-r--r-- | net/wireless/rdev-ops.h | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/net/wireless/rdev-ops.h b/net/wireless/rdev-ops.h index df5142e86c4f..950d57494168 100644 --- a/net/wireless/rdev-ops.h +++ b/net/wireless/rdev-ops.h @@ -748,14 +748,17 @@ static inline int rdev_tx_control_port(struct cfg80211_registered_device *rdev, struct net_device *dev, const void *buf, size_t len, const u8 *dest, __be16 proto, - const bool noencrypt) + const bool noencrypt, u64 *cookie) { int ret; trace_rdev_tx_control_port(&rdev->wiphy, dev, buf, len, dest, proto, noencrypt); ret = rdev->ops->tx_control_port(&rdev->wiphy, dev, buf, len, - dest, proto, noencrypt); - trace_rdev_return_int(&rdev->wiphy, ret); + dest, proto, noencrypt, cookie); + if (cookie) + trace_rdev_return_int_cookie(&rdev->wiphy, ret, *cookie); + else + trace_rdev_return_int(&rdev->wiphy, ret); return ret; } |