summary refs log tree commit diff
path: root/net/mctp/device.c
diff options
context:
space:
mode:
authorMatt Johnston <matt@codeconstruct.com.au>2022-02-25 13:39:36 +0800
committerJakub Kicinski <kuba@kernel.org>2022-02-25 22:23:23 -0800
commitf62457df5cc46ea0729fface07ffa885e85ef404 (patch)
treeaa68cbcfc287d0dd527315cebd7903b8f59e130e /net/mctp/device.c
parent23d743301198f7903d732d5abb4f2b44f22f5df0 (diff)
downloadlinux-f62457df5cc46ea0729fface07ffa885e85ef404.tar.gz
mctp: Avoid warning if unregister notifies twice
Previously if an unregister notify handler ran twice (waiting for
netdev to be released) it would print a warning in mctp_unregister()
every subsequent time the unregister notify occured.

Instead we only need to worry about the case where a mctp_ptr is
set on an unknown device type.

Signed-off-by: Matt Johnston <matt@codeconstruct.com.au>
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
Diffstat (limited to 'net/mctp/device.c')
-rw-r--r--net/mctp/device.c8
1 files changed, 4 insertions, 4 deletions
diff --git a/net/mctp/device.c b/net/mctp/device.c
index da13444c632b..f49be882e98e 100644
--- a/net/mctp/device.c
+++ b/net/mctp/device.c
@@ -428,10 +428,10 @@ static void mctp_unregister(struct net_device *dev)
 	struct mctp_dev *mdev;
 
 	mdev = mctp_dev_get_rtnl(dev);
-	if (mctp_known(dev) != (bool)mdev) {
+	if (mdev && !mctp_known(dev)) {
 		// Sanity check, should match what was set in mctp_register
-		netdev_warn(dev, "%s: mdev pointer %d but type (%d) match is %d",
-			    __func__, (bool)mdev, mctp_known(dev), dev->type);
+		netdev_warn(dev, "%s: BUG mctp_ptr set for unknown type %d",
+			    __func__, dev->type);
 		return;
 	}
 	if (!mdev)
@@ -455,7 +455,7 @@ static int mctp_register(struct net_device *dev)
 
 	if (mdev) {
 		if (!mctp_known(dev))
-			netdev_warn(dev, "%s: mctp_dev set for unknown type %d",
+			netdev_warn(dev, "%s: BUG mctp_ptr set for unknown type %d",
 				    __func__, dev->type);
 		return 0;
 	}