From: David S. Miller Date: Sun, 1 Mar 2020 05:37:03 +0000 (-0800) Subject: Merge branch 'hsr-several-code-cleanup-for-hsr-module' X-Git-Url: http://git.lede-project.org./?a=commitdiff_plain;h=68e2c37690b0;p=openwrt%2Fstaging%2Fblogic.git Merge branch 'hsr-several-code-cleanup-for-hsr-module' Taehee Yoo says: ==================== hsr: several code cleanup for hsr module This patchset is to clean up hsr module code. 1. The first patch is to use debugfs_remove_recursive(). If it uses debugfs_remove_recursive() instead of debugfs_remove(), hsr_priv() doesn't need to have "node_tbl_file" pointer variable. 2. The second patch is to use extack error message. If HSR uses the extack instead of netdev_info(), users can get error messages immediately without any checking the kernel message. 3. The third patch is to use netdev_err() instead of WARN_ONCE(). When a packet is being sent, hsr_addr_subst_dest() is called and it tries to find the node with the ethernet destination address. If it couldn't find a node, it warns with WARN_ONCE(). But, using WARN_ONCE() is a little bit overdoing. So, in this patch, netdev_err() is used instead. 4. The fourth patch is to remove unnecessary rcu_read_{lock/unlock}(). There are some rcu_read_{lock/unlock}() in hsr module and some of them are unnecessary. In this patch, these unnecessary rcu_read_{lock/unlock}() will be removed. 5. The fifth patch is to use upper/lower device infrastructure. netdev_upper_dev_link() is useful to manage lower/upper interfaces. And this function internally validates looping, maximum depth. If hsr module uses upper/lower device infrastructure, it can prevent these above problems. ==================== Signed-off-by: David S. Miller --- 68e2c37690b0da7539cfa2928bf1e4f50d88a1bb