diff options
author | qctecmdr <qctecmdr@localhost> | 2019-11-28 02:33:17 -0800 |
---|---|---|
committer | Gerrit - the friendly Code Review server <code-review@localhost> | 2019-11-28 02:33:17 -0800 |
commit | 74ba58976f508d25ca187bf9fdaa1ec981745e72 (patch) | |
tree | 0d0b4a926a4e31b1c4de4d0f1d105f8ef0ff9c57 | |
parent | 7d0c0a3a5cec1dbda36c10cca14b5c33e3acbc11 (diff) | |
parent | 9255a8a1ef6f8c9c9e86234fdca6bfd61bf896da (diff) | |
download | data-kernel-74ba58976f508d25ca187bf9fdaa1ec981745e72.tar.gz |
Merge "drivers: perf: Register/unregister on perf"
-rw-r--r-- | drivers/rmnet/perf/rmnet_perf_config.c | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/drivers/rmnet/perf/rmnet_perf_config.c b/drivers/rmnet/perf/rmnet_perf_config.c index 8a5f50e..be245d3 100644 --- a/drivers/rmnet/perf/rmnet_perf_config.c +++ b/drivers/rmnet/perf/rmnet_perf_config.c @@ -397,7 +397,9 @@ static int rmnet_perf_config_notify_cb(struct notifier_block *nb, switch (event) { case NETDEV_UNREGISTER: - if (rmnet_is_real_dev_registered(dev) && + pr_info("%s(): rmnet_perf netdevice unregister, name = %s\n", + __func__, dev->name); + if (perf && rmnet_is_real_dev_registered(dev) && rmnet_perf_config_hook_registered() && (!strncmp(dev->name, "rmnet_ipa0", 10) || !strncmp(dev->name, "rmnet_mhi0", 10))) { @@ -413,6 +415,7 @@ static int rmnet_perf_config_notify_cb(struct notifier_block *nb, RCU_INIT_POINTER(rmnet_perf_deag_entry, NULL); RCU_INIT_POINTER(rmnet_perf_desc_entry, NULL); RCU_INIT_POINTER(rmnet_perf_chain_end, NULL); + perf = NULL; } break; case NETDEV_REGISTER: @@ -421,7 +424,7 @@ static int rmnet_perf_config_notify_cb(struct notifier_block *nb, /* Check prevents us from allocating resources for every * interface */ - if (!rmnet_perf_config_hook_registered() && + if (!perf && !rmnet_perf_config_hook_registered() && strncmp(dev->name, "rmnet_data", 10) == 0) { struct rmnet_priv *priv = netdev_priv(dev); |