> +static int rmnet_unregister_real_device(struct net_device *real_dev) > +{ > + struct rmnet_real_dev_info *rdinfo; > + struct list_head *iter; > + > + ASSERT_RTNL(); > + > + if (!rmnet_is_real_dev_registered(real_dev) || > + netdev_lower_get_next(real_dev, &iter)) > + return -EINVAL; > + > + rdinfo = __rmnet_get_real_dev_info(real_dev); > + kfree(rdinfo); > + > + netdev_rx_handler_unregister(real_dev); > + > + /* release reference on real_dev */ > + dev_put(real_dev); > + > + netdev_info(real_dev, "Removed from rmnet\n");
I would probably turn all your netdev_info()s into netdev_dbg()s. You seem to be spamming the kernel log quite a bit. Andrew