Message ID | 20101201.163319.193705748.davem@davemloft.net |
---|---|
State | RFC, archived |
Delegated to: | David Miller |
Headers | show |
On Wed, Dec 1, 2010 at 19:33, David Miller wrote: > Attached. Also please provide one of the failing ".config" files, > and please test if simply going "make oldconfig" unbreaks things. > It may be that randconfig allows configurations that the config > system normally does not allow. hrm, so your patch does fix things. the downside is that it might be caused by kgdboe (which isnt in mainline yet). that's the only randconfig i can find so far to cause the issue. -mike -- To unsubscribe from this list: send the line "unsubscribe netdev" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
From: Mike Frysinger <vapier.adi@gmail.com> Date: Thu, 2 Dec 2010 03:29:17 -0500 > On Wed, Dec 1, 2010 at 19:33, David Miller wrote: >> Attached. Also please provide one of the failing ".config" files, >> and please test if simply going "make oldconfig" unbreaks things. >> It may be that randconfig allows configurations that the config >> system normally does not allow. > > hrm, so your patch does fix things. the downside is that it might be > caused by kgdboe (which isnt in mainline yet). that's the only > randconfig i can find so far to cause the issue. If that's the case you just need to check and make sure that kgdboe handles dependencies properly in it's Kconfig changes. I suspect that simply adding kgdboe as a new "or" case to the "def_bool" statement of NETPOLL in driver/net/Kconfig will fix the problem. If kgdboe is using "select" to handle these dependencies, that's the bug. -- To unsubscribe from this list: send the line "unsubscribe netdev" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
On Thu, Dec 2, 2010 at 12:51, David Miller wrote: > From: Mike Frysinger <vapier.adi@gmail.com> >> On Wed, Dec 1, 2010 at 19:33, David Miller wrote: >>> Attached. Also please provide one of the failing ".config" files, >>> and please test if simply going "make oldconfig" unbreaks things. >>> It may be that randconfig allows configurations that the config >>> system normally does not allow. >> >> hrm, so your patch does fix things. the downside is that it might be >> caused by kgdboe (which isnt in mainline yet). that's the only >> randconfig i can find so far to cause the issue. > > If that's the case you just need to check and make sure that kgdboe > handles dependencies properly in it's Kconfig changes. > > I suspect that simply adding kgdboe as a new "or" case to the > "def_bool" statement of NETPOLL in driver/net/Kconfig will fix the > problem. > > If kgdboe is using "select" to handle these dependencies, that's the > bug. it is using select to enable reverse depends. i'll look at sending a fix as you suggest to the kgdb devs. thanks ! -mike -- To unsubscribe from this list: send the line "unsubscribe netdev" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
diff --git a/net/bridge/br_device.c b/net/bridge/br_device.c index 17cb0b6..96ecb02 100644 --- a/net/bridge/br_device.c +++ b/net/bridge/br_device.c @@ -217,7 +217,7 @@ static int br_set_flags(struct net_device *netdev, u32 data) return ethtool_op_set_flags(netdev, data, ETH_FLAG_TXVLAN); } -#ifdef CONFIG_NET_POLL_CONTROLLER +#if defined(CONFIG_NETPOLL) && defined(CONFIG_NET_POLL_CONTROLLER) static void br_poll_controller(struct net_device *br_dev) { } @@ -321,7 +321,7 @@ static const struct net_device_ops br_netdev_ops = { .ndo_set_multicast_list = br_dev_set_multicast_list, .ndo_change_mtu = br_change_mtu, .ndo_do_ioctl = br_dev_ioctl, -#ifdef CONFIG_NET_POLL_CONTROLLER +#if defined(CONFIG_NETPOLL) && defined(CONFIG_NET_POLL_CONTROLLER) .ndo_netpoll_setup = br_netpoll_setup, .ndo_netpoll_cleanup = br_netpoll_cleanup, .ndo_poll_controller = br_poll_controller, diff --git a/net/bridge/br_private.h b/net/bridge/br_private.h index 75c90ed..ad1bec6 100644 --- a/net/bridge/br_private.h +++ b/net/bridge/br_private.h @@ -146,7 +146,7 @@ struct net_bridge_port char sysfs_name[IFNAMSIZ]; #endif -#ifdef CONFIG_NET_POLL_CONTROLLER +#if defined(CONFIG_NETPOLL) && defined(CONFIG_NET_POLL_CONTROLLER) struct netpoll *np; #endif }; @@ -287,7 +287,7 @@ static inline int br_is_root_bridge(const struct net_bridge *br) extern void br_dev_setup(struct net_device *dev); extern netdev_tx_t br_dev_xmit(struct sk_buff *skb, struct net_device *dev); -#ifdef CONFIG_NET_POLL_CONTROLLER +#if defined(CONFIG_NETPOLL) && defined(CONFIG_NET_POLL_CONTROLLER) static inline struct netpoll_info *br_netpoll_info(struct net_bridge *br) { return br->dev->npinfo;