hc
2024-10-09 05e59e5fb0064c97a1c10921ecd549f2d4a58565
kernel/net/wireless/rdev-ops.h
....@@ -77,7 +77,8 @@
7777 struct key_params *params)
7878 {
7979 int ret;
80
- trace_rdev_add_key(&rdev->wiphy, netdev, key_index, pairwise, mac_addr);
80
+ trace_rdev_add_key(&rdev->wiphy, netdev, key_index, pairwise,
81
+ mac_addr, params->mode);
8182 ret = rdev->ops->add_key(&rdev->wiphy, netdev, key_index, pairwise,
8283 mac_addr, params);
8384 trace_rdev_return_int(&rdev->wiphy, ret);
....@@ -747,14 +748,17 @@
747748 struct net_device *dev,
748749 const void *buf, size_t len,
749750 const u8 *dest, __be16 proto,
750
- const bool noencrypt)
751
+ const bool noencrypt, u64 *cookie)
751752 {
752753 int ret;
753754 trace_rdev_tx_control_port(&rdev->wiphy, dev, buf, len,
754755 dest, proto, noencrypt);
755756 ret = rdev->ops->tx_control_port(&rdev->wiphy, dev, buf, len,
756
- dest, proto, noencrypt);
757
- trace_rdev_return_int(&rdev->wiphy, ret);
757
+ dest, proto, noencrypt, cookie);
758
+ if (cookie)
759
+ trace_rdev_return_int_cookie(&rdev->wiphy, ret, *cookie);
760
+ else
761
+ trace_rdev_return_int(&rdev->wiphy, ret);
758762 return ret;
759763 }
760764
....@@ -818,13 +822,16 @@
818822 }
819823
820824 static inline void
821
-rdev_mgmt_frame_register(struct cfg80211_registered_device *rdev,
822
- struct wireless_dev *wdev, u16 frame_type, bool reg)
825
+rdev_update_mgmt_frame_registrations(struct cfg80211_registered_device *rdev,
826
+ struct wireless_dev *wdev,
827
+ struct mgmt_frame_regs *upd)
823828 {
824829 might_sleep();
825830
826
- trace_rdev_mgmt_frame_register(&rdev->wiphy, wdev , frame_type, reg);
827
- rdev->ops->mgmt_frame_register(&rdev->wiphy, wdev , frame_type, reg);
831
+ trace_rdev_update_mgmt_frame_registrations(&rdev->wiphy, wdev, upd);
832
+ if (rdev->ops->update_mgmt_frame_registrations)
833
+ rdev->ops->update_mgmt_frame_registrations(&rdev->wiphy, wdev,
834
+ upd);
828835 trace_rdev_return_void(&rdev->wiphy);
829836 }
830837
....@@ -1259,6 +1266,46 @@
12591266 return ret;
12601267 }
12611268
1269
+static inline int
1270
+rdev_get_ftm_responder_stats(struct cfg80211_registered_device *rdev,
1271
+ struct net_device *dev,
1272
+ struct cfg80211_ftm_responder_stats *ftm_stats)
1273
+{
1274
+ int ret = -EOPNOTSUPP;
1275
+
1276
+ trace_rdev_get_ftm_responder_stats(&rdev->wiphy, dev, ftm_stats);
1277
+ if (rdev->ops->get_ftm_responder_stats)
1278
+ ret = rdev->ops->get_ftm_responder_stats(&rdev->wiphy, dev,
1279
+ ftm_stats);
1280
+ trace_rdev_return_int(&rdev->wiphy, ret);
1281
+ return ret;
1282
+}
1283
+
1284
+static inline int
1285
+rdev_start_pmsr(struct cfg80211_registered_device *rdev,
1286
+ struct wireless_dev *wdev,
1287
+ struct cfg80211_pmsr_request *request)
1288
+{
1289
+ int ret = -EOPNOTSUPP;
1290
+
1291
+ trace_rdev_start_pmsr(&rdev->wiphy, wdev, request->cookie);
1292
+ if (rdev->ops->start_pmsr)
1293
+ ret = rdev->ops->start_pmsr(&rdev->wiphy, wdev, request);
1294
+ trace_rdev_return_int(&rdev->wiphy, ret);
1295
+ return ret;
1296
+}
1297
+
1298
+static inline void
1299
+rdev_abort_pmsr(struct cfg80211_registered_device *rdev,
1300
+ struct wireless_dev *wdev,
1301
+ struct cfg80211_pmsr_request *request)
1302
+{
1303
+ trace_rdev_abort_pmsr(&rdev->wiphy, wdev, request->cookie);
1304
+ if (rdev->ops->abort_pmsr)
1305
+ rdev->ops->abort_pmsr(&rdev->wiphy, wdev, request);
1306
+ trace_rdev_return_void(&rdev->wiphy);
1307
+}
1308
+
12621309 static inline int rdev_update_owe_info(struct cfg80211_registered_device *rdev,
12631310 struct net_device *dev,
12641311 struct cfg80211_update_owe_info *oweinfo)
....@@ -1272,4 +1319,41 @@
12721319 return ret;
12731320 }
12741321
1322
+static inline int
1323
+rdev_probe_mesh_link(struct cfg80211_registered_device *rdev,
1324
+ struct net_device *dev, const u8 *dest,
1325
+ const void *buf, size_t len)
1326
+{
1327
+ int ret;
1328
+
1329
+ trace_rdev_probe_mesh_link(&rdev->wiphy, dev, dest, buf, len);
1330
+ ret = rdev->ops->probe_mesh_link(&rdev->wiphy, dev, buf, len);
1331
+ trace_rdev_return_int(&rdev->wiphy, ret);
1332
+ return ret;
1333
+}
1334
+
1335
+static inline int rdev_set_tid_config(struct cfg80211_registered_device *rdev,
1336
+ struct net_device *dev,
1337
+ struct cfg80211_tid_config *tid_conf)
1338
+{
1339
+ int ret;
1340
+
1341
+ trace_rdev_set_tid_config(&rdev->wiphy, dev, tid_conf);
1342
+ ret = rdev->ops->set_tid_config(&rdev->wiphy, dev, tid_conf);
1343
+ trace_rdev_return_int(&rdev->wiphy, ret);
1344
+ return ret;
1345
+}
1346
+
1347
+static inline int rdev_reset_tid_config(struct cfg80211_registered_device *rdev,
1348
+ struct net_device *dev, const u8 *peer,
1349
+ u8 tids)
1350
+{
1351
+ int ret;
1352
+
1353
+ trace_rdev_reset_tid_config(&rdev->wiphy, dev, peer, tids);
1354
+ ret = rdev->ops->reset_tid_config(&rdev->wiphy, dev, peer, tids);
1355
+ trace_rdev_return_int(&rdev->wiphy, ret);
1356
+ return ret;
1357
+}
1358
+
12751359 #endif /* __CFG80211_RDEV_OPS */