Netdev List
 help / color / mirror / Atom feed
* [PATCH 1/3] net: Abstract RTAX_HOPLIMIT metric accesses behind helper.
From: David Miller @ 2010-12-13 18:03 UTC (permalink / raw)
  To: netdev


Signed-off-by: David S. Miller <davem@davemloft.net>
---
 drivers/net/pptp.c              |    2 +-
 include/net/dst.h               |   15 ++++++++++++++-
 net/ipv4/ip_gre.c               |    2 +-
 net/ipv4/ip_output.c            |    2 +-
 net/ipv4/netfilter/ipt_REJECT.c |    2 +-
 net/ipv4/route.c                |    2 +-
 net/ipv4/xfrm4_mode_tunnel.c    |    2 +-
 net/ipv6/route.c                |    4 ++--
 8 files changed, 22 insertions(+), 9 deletions(-)

diff --git a/drivers/net/pptp.c b/drivers/net/pptp.c
index 7556a92..c83e168 100644
--- a/drivers/net/pptp.c
+++ b/drivers/net/pptp.c
@@ -277,7 +277,7 @@ static int pptp_xmit(struct ppp_channel *chan, struct sk_buff *skb)
 	iph->tos      = 0;
 	iph->daddr    = rt->rt_dst;
 	iph->saddr    = rt->rt_src;
-	iph->ttl      = dst_metric(&rt->dst, RTAX_HOPLIMIT);
+	iph->ttl      = dst_metric_hoplimit(&rt->dst);
 	iph->tot_len  = htons(skb->len);
 
 	skb_dst_drop(skb);
diff --git a/include/net/dst.h b/include/net/dst.h
index 85dee3a..9208b50 100644
--- a/include/net/dst.h
+++ b/include/net/dst.h
@@ -104,11 +104,24 @@ struct dst_entry {
 #ifdef __KERNEL__
 
 static inline u32
-dst_metric(const struct dst_entry *dst, int metric)
+dst_metric_raw(const struct dst_entry *dst, const int metric)
 {
 	return dst->_metrics[metric-1];
 }
 
+static inline u32
+dst_metric(const struct dst_entry *dst, const int metric)
+{
+	WARN_ON_ONCE(metric == RTAX_HOPLIMIT);
+	return dst_metric_raw(dst, metric);
+}
+
+static inline u32
+dst_metric_hoplimit(const struct dst_entry *dst)
+{
+	return dst_metric_raw(dst, RTAX_HOPLIMIT);
+}
+
 static inline void dst_metric_set(struct dst_entry *dst, int metric, u32 val)
 {
 	dst->_metrics[metric-1] = val;
diff --git a/net/ipv4/ip_gre.c b/net/ipv4/ip_gre.c
index ff4e7a4..46eb3dc 100644
--- a/net/ipv4/ip_gre.c
+++ b/net/ipv4/ip_gre.c
@@ -890,7 +890,7 @@ static netdev_tx_t ipgre_tunnel_xmit(struct sk_buff *skb, struct net_device *dev
 			iph->ttl = ((struct ipv6hdr *)old_iph)->hop_limit;
 #endif
 		else
-			iph->ttl = dst_metric(&rt->dst, RTAX_HOPLIMIT);
+			iph->ttl = dst_metric_hoplimit(&rt->dst);
 	}
 
 	((__be16 *)(iph + 1))[0] = tunnel->parms.o_flags;
diff --git a/net/ipv4/ip_output.c b/net/ipv4/ip_output.c
index 5090c7f..ea28fa5 100644
--- a/net/ipv4/ip_output.c
+++ b/net/ipv4/ip_output.c
@@ -130,7 +130,7 @@ static inline int ip_select_ttl(struct inet_sock *inet, struct dst_entry *dst)
 	int ttl = inet->uc_ttl;
 
 	if (ttl < 0)
-		ttl = dst_metric(dst, RTAX_HOPLIMIT);
+		ttl = dst_metric_hoplimit(dst);
 	return ttl;
 }
 
diff --git a/net/ipv4/netfilter/ipt_REJECT.c b/net/ipv4/netfilter/ipt_REJECT.c
index 43eec80..f130907 100644
--- a/net/ipv4/netfilter/ipt_REJECT.c
+++ b/net/ipv4/netfilter/ipt_REJECT.c
@@ -116,7 +116,7 @@ static void send_reset(struct sk_buff *oldskb, int hook)
 	if (ip_route_me_harder(nskb, addr_type))
 		goto free_nskb;
 
-	niph->ttl	= dst_metric(skb_dst(nskb), RTAX_HOPLIMIT);
+	niph->ttl	= dst_metric_hoplimit(skb_dst(nskb));
 
 	/* "Never happens" */
 	if (nskb->len > dst_mtu(skb_dst(nskb)))
diff --git a/net/ipv4/route.c b/net/ipv4/route.c
index 26ac396..90b5a37 100644
--- a/net/ipv4/route.c
+++ b/net/ipv4/route.c
@@ -1821,7 +1821,7 @@ static void rt_set_nexthop(struct rtable *rt, struct fib_result *res, u32 itag)
 	} else
 		dst_metric_set(dst, RTAX_MTU, dst->dev->mtu);
 
-	if (dst_metric(dst, RTAX_HOPLIMIT) == 0)
+	if (dst_metric_raw(dst, RTAX_HOPLIMIT) == 0)
 		dst_metric_set(dst, RTAX_HOPLIMIT, sysctl_ip_default_ttl);
 	if (dst_mtu(dst) > IP_MAX_MTU)
 		dst_metric_set(dst, RTAX_MTU, IP_MAX_MTU);
diff --git a/net/ipv4/xfrm4_mode_tunnel.c b/net/ipv4/xfrm4_mode_tunnel.c
index 6f36841..63b854e 100644
--- a/net/ipv4/xfrm4_mode_tunnel.c
+++ b/net/ipv4/xfrm4_mode_tunnel.c
@@ -56,7 +56,7 @@ static int xfrm4_mode_tunnel_output(struct xfrm_state *x, struct sk_buff *skb)
 		0 : (XFRM_MODE_SKB_CB(skb)->frag_off & htons(IP_DF));
 	ip_select_ident(top_iph, dst->child, NULL);
 
-	top_iph->ttl = dst_metric(dst->child, RTAX_HOPLIMIT);
+	top_iph->ttl = dst_metric_hoplimit(dst->child);
 
 	top_iph->saddr = x->props.saddr.a4;
 	top_iph->daddr = x->id.daddr.a4;
diff --git a/net/ipv6/route.c b/net/ipv6/route.c
index 9b2d7bc..d9405d1 100644
--- a/net/ipv6/route.c
+++ b/net/ipv6/route.c
@@ -1104,7 +1104,7 @@ static int ipv6_get_mtu(struct net_device *dev)
 
 int ip6_dst_hoplimit(struct dst_entry *dst)
 {
-	int hoplimit = dst_metric(dst, RTAX_HOPLIMIT);
+	int hoplimit = dst_metric_raw(dst, RTAX_HOPLIMIT);
 	if (hoplimit < 0) {
 		struct net_device *dev = dst->dev;
 		struct inet6_dev *idev;
@@ -1310,7 +1310,7 @@ install_route:
 		}
 	}
 
-	if (dst_metric(&rt->dst, RTAX_HOPLIMIT) == 0)
+	if (dst_metric_raw(&rt->dst, RTAX_HOPLIMIT) == 0)
 		dst_metric_set(&rt->dst, RTAX_HOPLIMIT, -1);
 	if (!dst_mtu(&rt->dst))
 		dst_metric_set(&rt->dst, RTAX_MTU, ipv6_get_mtu(dev));
-- 
1.7.3.2


^ permalink raw reply related

* ipv6: Demark default hoplimit as zero.
From: David Miller @ 2010-12-13 18:03 UTC (permalink / raw)
  To: netdev


This is for consistency with ipv4.  Using "-1" makes
no sense.

It was made this way a long time ago merely to be consistent
with how the ipv6 socket hoplimit "default" is stored.

Signed-off-by: David S. Miller <davem@davemloft.net>
---
 net/ipv6/route.c |    4 +---
 1 files changed, 1 insertions(+), 3 deletions(-)

diff --git a/net/ipv6/route.c b/net/ipv6/route.c
index d9405d1..98796b0 100644
--- a/net/ipv6/route.c
+++ b/net/ipv6/route.c
@@ -1105,7 +1105,7 @@ static int ipv6_get_mtu(struct net_device *dev)
 int ip6_dst_hoplimit(struct dst_entry *dst)
 {
 	int hoplimit = dst_metric_raw(dst, RTAX_HOPLIMIT);
-	if (hoplimit < 0) {
+	if (hoplimit == 0) {
 		struct net_device *dev = dst->dev;
 		struct inet6_dev *idev;
 
@@ -1310,8 +1310,6 @@ install_route:
 		}
 	}
 
-	if (dst_metric_raw(&rt->dst, RTAX_HOPLIMIT) == 0)
-		dst_metric_set(&rt->dst, RTAX_HOPLIMIT, -1);
 	if (!dst_mtu(&rt->dst))
 		dst_metric_set(&rt->dst, RTAX_MTU, ipv6_get_mtu(dev));
 	if (!dst_metric(&rt->dst, RTAX_ADVMSS))
-- 
1.7.3.2


^ permalink raw reply related

* [PATCH 3/3] ipv4: Don't pre-seed hoplimit metric.
From: David Miller @ 2010-12-13 18:04 UTC (permalink / raw)
  To: netdev


Always go through a new ip4_dst_hoplimit() helper, just like ipv6.

This allowed several simplifications:

1) The interim dst_metric_hoplimit() can go as it's no longer
   userd.

2) The sysctl_ip_default_ttl entry no longer needs to use
   ipv4_doint_and_flush, since the sysctl is not cached in
   routing cache metrics any longer.

3) ipv4_doint_and_flush no longer needs to be exported and
   therefore can be marked static.

When ipv4_doint_and_flush_strategy was removed some time ago,
the external declaration in ip.h was mistakenly left around
so kill that off too.

We have to move the sysctl_ip_default_ttl declaration into
ipv4's route cache definition header net/route.h, because
currently net/ip.h (where the declaration lives now) has
a back dependency on net/route.h

Signed-off-by: David S. Miller <davem@davemloft.net>
---
 drivers/net/pptp.c              |    2 +-
 include/net/dst.h               |    6 ------
 include/net/ip.h                |   10 ----------
 include/net/route.h             |   11 +++++++++++
 net/ipv4/devinet.c              |    6 +++---
 net/ipv4/ip_gre.c               |    2 +-
 net/ipv4/ip_output.c            |    3 ++-
 net/ipv4/netfilter/ipt_REJECT.c |    2 +-
 net/ipv4/route.c                |    2 --
 net/ipv4/sysctl_net_ipv4.c      |    2 +-
 net/ipv4/xfrm4_mode_tunnel.c    |    2 +-
 11 files changed, 21 insertions(+), 27 deletions(-)

diff --git a/drivers/net/pptp.c b/drivers/net/pptp.c
index c83e168..164cfad 100644
--- a/drivers/net/pptp.c
+++ b/drivers/net/pptp.c
@@ -277,7 +277,7 @@ static int pptp_xmit(struct ppp_channel *chan, struct sk_buff *skb)
 	iph->tos      = 0;
 	iph->daddr    = rt->rt_dst;
 	iph->saddr    = rt->rt_src;
-	iph->ttl      = dst_metric_hoplimit(&rt->dst);
+	iph->ttl      = ip4_dst_hoplimit(&rt->dst);
 	iph->tot_len  = htons(skb->len);
 
 	skb_dst_drop(skb);
diff --git a/include/net/dst.h b/include/net/dst.h
index 9208b50..755ac6c 100644
--- a/include/net/dst.h
+++ b/include/net/dst.h
@@ -116,12 +116,6 @@ dst_metric(const struct dst_entry *dst, const int metric)
 	return dst_metric_raw(dst, metric);
 }
 
-static inline u32
-dst_metric_hoplimit(const struct dst_entry *dst)
-{
-	return dst_metric_raw(dst, RTAX_HOPLIMIT);
-}
-
 static inline void dst_metric_set(struct dst_entry *dst, int metric, u32 val)
 {
 	dst->_metrics[metric-1] = val;
diff --git a/include/net/ip.h b/include/net/ip.h
index 86e2b18..67fac78 100644
--- a/include/net/ip.h
+++ b/include/net/ip.h
@@ -201,7 +201,6 @@ static inline int inet_is_reserved_local_port(int port)
 	return test_bit(port, sysctl_local_reserved_ports);
 }
 
-extern int sysctl_ip_default_ttl;
 extern int sysctl_ip_nonlocal_bind;
 
 extern struct ctl_path net_core_path[];
@@ -428,15 +427,6 @@ extern void	ip_icmp_error(struct sock *sk, struct sk_buff *skb, int err,
 extern void	ip_local_error(struct sock *sk, int err, __be32 daddr, __be16 dport,
 			       u32 info);
 
-/* sysctl helpers - any sysctl which holds a value that ends up being
- * fed into the routing cache should use these handlers.
- */
-int ipv4_doint_and_flush(ctl_table *ctl, int write,
-			 void __user *buffer,
-			 size_t *lenp, loff_t *ppos);
-int ipv4_doint_and_flush_strategy(ctl_table *table,
-				  void __user *oldval, size_t __user *oldlenp,
-				  void __user *newval, size_t newlen);
 #ifdef CONFIG_PROC_FS
 extern int ip_misc_proc_init(void);
 #endif
diff --git a/include/net/route.h b/include/net/route.h
index b8c1f77..2700236 100644
--- a/include/net/route.h
+++ b/include/net/route.h
@@ -231,4 +231,15 @@ static inline int inet_iif(const struct sk_buff *skb)
 	return skb_rtable(skb)->rt_iif;
 }
 
+extern int sysctl_ip_default_ttl;
+
+static inline int ip4_dst_hoplimit(const struct dst_entry *dst)
+{
+	int hoplimit = dst_metric_raw(dst, RTAX_HOPLIMIT);
+
+	if (hoplimit == 0)
+		hoplimit = sysctl_ip_default_ttl;
+	return hoplimit;
+}
+
 #endif	/* _ROUTE_H */
diff --git a/net/ipv4/devinet.c b/net/ipv4/devinet.c
index 3b06770..748cb5b 100644
--- a/net/ipv4/devinet.c
+++ b/net/ipv4/devinet.c
@@ -1430,9 +1430,9 @@ static int devinet_sysctl_forward(ctl_table *ctl, int write,
 	return ret;
 }
 
-int ipv4_doint_and_flush(ctl_table *ctl, int write,
-			 void __user *buffer,
-			 size_t *lenp, loff_t *ppos)
+static int ipv4_doint_and_flush(ctl_table *ctl, int write,
+				void __user *buffer,
+				size_t *lenp, loff_t *ppos)
 {
 	int *valp = ctl->data;
 	int val = *valp;
diff --git a/net/ipv4/ip_gre.c b/net/ipv4/ip_gre.c
index 46eb3dc..eb68a0e 100644
--- a/net/ipv4/ip_gre.c
+++ b/net/ipv4/ip_gre.c
@@ -890,7 +890,7 @@ static netdev_tx_t ipgre_tunnel_xmit(struct sk_buff *skb, struct net_device *dev
 			iph->ttl = ((struct ipv6hdr *)old_iph)->hop_limit;
 #endif
 		else
-			iph->ttl = dst_metric_hoplimit(&rt->dst);
+			iph->ttl = ip4_dst_hoplimit(&rt->dst);
 	}
 
 	((__be16 *)(iph + 1))[0] = tunnel->parms.o_flags;
diff --git a/net/ipv4/ip_output.c b/net/ipv4/ip_output.c
index ea28fa5..04c7b3b 100644
--- a/net/ipv4/ip_output.c
+++ b/net/ipv4/ip_output.c
@@ -82,6 +82,7 @@
 #include <linux/tcp.h>
 
 int sysctl_ip_default_ttl __read_mostly = IPDEFTTL;
+EXPORT_SYMBOL(sysctl_ip_default_ttl);
 
 /* Generate a checksum for an outgoing IP datagram. */
 __inline__ void ip_send_check(struct iphdr *iph)
@@ -130,7 +131,7 @@ static inline int ip_select_ttl(struct inet_sock *inet, struct dst_entry *dst)
 	int ttl = inet->uc_ttl;
 
 	if (ttl < 0)
-		ttl = dst_metric_hoplimit(dst);
+		ttl = ip4_dst_hoplimit(dst);
 	return ttl;
 }
 
diff --git a/net/ipv4/netfilter/ipt_REJECT.c b/net/ipv4/netfilter/ipt_REJECT.c
index f130907..1ff79e5 100644
--- a/net/ipv4/netfilter/ipt_REJECT.c
+++ b/net/ipv4/netfilter/ipt_REJECT.c
@@ -116,7 +116,7 @@ static void send_reset(struct sk_buff *oldskb, int hook)
 	if (ip_route_me_harder(nskb, addr_type))
 		goto free_nskb;
 
-	niph->ttl	= dst_metric_hoplimit(skb_dst(nskb));
+	niph->ttl	= ip4_dst_hoplimit(skb_dst(nskb));
 
 	/* "Never happens" */
 	if (nskb->len > dst_mtu(skb_dst(nskb)))
diff --git a/net/ipv4/route.c b/net/ipv4/route.c
index 90b5a37..770f704 100644
--- a/net/ipv4/route.c
+++ b/net/ipv4/route.c
@@ -1821,8 +1821,6 @@ static void rt_set_nexthop(struct rtable *rt, struct fib_result *res, u32 itag)
 	} else
 		dst_metric_set(dst, RTAX_MTU, dst->dev->mtu);
 
-	if (dst_metric_raw(dst, RTAX_HOPLIMIT) == 0)
-		dst_metric_set(dst, RTAX_HOPLIMIT, sysctl_ip_default_ttl);
 	if (dst_mtu(dst) > IP_MAX_MTU)
 		dst_metric_set(dst, RTAX_MTU, IP_MAX_MTU);
 	if (dst_metric(dst, RTAX_ADVMSS) == 0)
diff --git a/net/ipv4/sysctl_net_ipv4.c b/net/ipv4/sysctl_net_ipv4.c
index 1b4ec21..e85ff59 100644
--- a/net/ipv4/sysctl_net_ipv4.c
+++ b/net/ipv4/sysctl_net_ipv4.c
@@ -155,7 +155,7 @@ static struct ctl_table ipv4_table[] = {
 		.data		= &sysctl_ip_default_ttl,
 		.maxlen		= sizeof(int),
 		.mode		= 0644,
-		.proc_handler	= ipv4_doint_and_flush,
+		.proc_handler	= proc_dointvec,
 		.extra2		= &init_net,
 	},
 	{
diff --git a/net/ipv4/xfrm4_mode_tunnel.c b/net/ipv4/xfrm4_mode_tunnel.c
index 63b854e..534972e 100644
--- a/net/ipv4/xfrm4_mode_tunnel.c
+++ b/net/ipv4/xfrm4_mode_tunnel.c
@@ -56,7 +56,7 @@ static int xfrm4_mode_tunnel_output(struct xfrm_state *x, struct sk_buff *skb)
 		0 : (XFRM_MODE_SKB_CB(skb)->frag_off & htons(IP_DF));
 	ip_select_ident(top_iph, dst->child, NULL);
 
-	top_iph->ttl = dst_metric_hoplimit(dst->child);
+	top_iph->ttl = ip4_dst_hoplimit(dst->child);
 
 	top_iph->saddr = x->props.saddr.a4;
 	top_iph->daddr = x->id.daddr.a4;
-- 
1.7.3.2


^ permalink raw reply related

* Re: [PATCH net-next-2.6] net: add dev_close_many
From: Stephen Hemminger @ 2010-12-13 18:04 UTC (permalink / raw)
  To: Octavian Purdila
  Cc: Eric Dumazet, netdev, Lucian Adrian Grijincu, Vlad Dogaru
In-Reply-To: <201012131952.39648.opurdila@ixiacom.com>

On Mon, 13 Dec 2010 19:52:39 +0200
Octavian Purdila <opurdila@ixiacom.com> wrote:

> From: Stephen Hemminger <shemminger@vyatta.com>
> Date: Monday 13 December 2010, 19:32:21
> 
> > With a message based interface, there shouldn't be a need for this.
> > Just have one thread sending requests in user space, and one receiving
> > the ACK's.
> 
> Sorry, you lost me here :) There is no need for the kernel thread / workqueue 
> or not even for dev_close_many?

I assume the need for dev_close_many is coming from a user space application?

I expect that for this kind of special need,  you would be better off not
using the normal iproute utilities and instead have a custom device manager
that is doing netlink directly.

Rather than doing synchronous send request and wait for ack. The utility
could use a sender and collector thread.

-- 

^ permalink raw reply

* Re: [PATCH net-next-2.6 1/2] cpmac: remove unused buflen
From: David Miller @ 2010-12-13 18:15 UTC (permalink / raw)
  To: yuasa; +Cc: netdev, ejka
In-Reply-To: <20101213171725.2ed299cf.yuasa@linux-mips.org>

From: Yoichi Yuasa <yuasa@linux-mips.org>
Date: Mon, 13 Dec 2010 17:17:25 +0900

> Signed-off-by: Yoichi Yuasa <yuasa@linux-mips.org>

This is a descriptor read by and used by the hardware, you cannot just
delete it.

^ permalink raw reply

* Re: [PATCH net-next-2.6 2/2] cpmac: fix warning length cast
From: David Miller @ 2010-12-13 18:16 UTC (permalink / raw)
  To: yuasa; +Cc: netdev, ejka
In-Reply-To: <20101213171845.39a2151f.yuasa@linux-mips.org>

From: Yoichi Yuasa <yuasa@linux-mips.org>
Date: Mon, 13 Dec 2010 17:18:45 +0900

> drivers/net/cpmac.c: In function 'cpmac_start_xmit':
> drivers/net/cpmac.c:569: warning: comparison of distinct pointer types
> lacks a cast
> 
> Signed-off-by: Yoichi Yuasa <yuasa@linux-mips.org>

Again, you cannot change the types of the members of the
descriptor, as it has a fixed implementation and is read
by the hardware.

^ permalink raw reply

* [PATCH net-next-2.6 0/3] bonding fixes
From: Ben Hutchings @ 2010-12-13 18:16 UTC (permalink / raw)
  To: David Miller, Jay Vosburgh; +Cc: netdev, linux-net-drivers

I've been investigating a bonding bug that results in skb_under_panic()
on older kernels.  The bug is still present but with less disastrous
results.  In the course of my investigation I found two regressions
without actually looking very hard, which is somewhat worrying.

The fixes are:

1. Remove redundant VLAN tag insertion logic. Fixes a regression due to
VLAN handling changes in 2.6.37, which corrupts *all* outgoing traffic
on a VLAN over a bond when the slave does not implement VLAN tag
insertion.

2. Change active slave quietly when bond is down. Fixes a crash
introduced by 5a37e8ca8536c47871d46c82211f399adf06fd44 (bonding: rejoin
multicast groups on VLANs) and also cleans up existing code.

3. Fix mangled NAs on slaves without VLAN tag insertion. This bug
appears to have been present ever since gratuitous NAs were implemented
in 2.6.29. It doesn't look possible to fix without relying on the recent
VLAN handling changes. For stable/longterm and backports, I think the
safest thing to do is not to send a gratuitous NA if it would end up
mangled.

Ben.

Ben Hutchings (3):
  bonding/vlan: Remove redundant VLAN tag insertion logic
  bonding: Change active slave quietly when bond is down
  bonding/vlan: Fix mangled NAs on slaves without VLAN tag insertion

 drivers/net/bonding/bond_ipv6.c |    7 +++++-
 drivers/net/bonding/bond_main.c |   42 +++++++++-----------------------------
 2 files changed, 16 insertions(+), 33 deletions(-)

-- 
1.7.3.2


-- 
Ben Hutchings, Senior Software Engineer, Solarflare Communications
Not speaking for my employer; that's the marketing department's job.
They asked us to note that Solarflare product names are trademarked.


^ permalink raw reply

* Re: [PATCH net-next-2.6 0/3] bonding fixes
From: Ben Hutchings @ 2010-12-13 18:18 UTC (permalink / raw)
  To: David Miller; +Cc: Jay Vosburgh, netdev, linux-net-drivers
In-Reply-To: <1292264216.9860.11.camel@bwh-desktop>

These should of course go to net-2.6, not net-next-2.6.

Ben.

-- 
Ben Hutchings, Senior Software Engineer, Solarflare Communications
Not speaking for my employer; that's the marketing department's job.
They asked us to note that Solarflare product names are trademarked.


^ permalink raw reply

* [PATCH net-2.6 1/3] bonding/vlan: Remove redundant VLAN tag insertion logic
From: Ben Hutchings @ 2010-12-13 18:19 UTC (permalink / raw)
  To: David Miller, Jay Vosburgh; +Cc: netdev, linux-net-drivers, Jesse Gross
In-Reply-To: <1292264216.9860.11.camel@bwh-desktop>

A bond may have a mixture of slave devices with and without hardware
VLAN tag insertion capability.  Therefore it always claims this
capability and performs software VLAN tag insertion if the slave does
not.

Since commit 7b9c60903714bf0a19d746b228864bad3497284e, this has
also been done by dev_hard_start_xmit().  The result is that VLAN-
tagged skbs are now double-tagged when transmitted through slave
devices without hardware VLAN tag insertion!

Remove the now-redundant logic from bond_dev_queue_xmit().

Signed-off-by: Ben Hutchings <bhutchings@solarflare.com>
---
 drivers/net/bonding/bond_main.c |   27 +--------------------------
 1 files changed, 1 insertions(+), 26 deletions(-)

diff --git a/drivers/net/bonding/bond_main.c b/drivers/net/bonding/bond_main.c
index d0ea760..ef370c9 100644
--- a/drivers/net/bonding/bond_main.c
+++ b/drivers/net/bonding/bond_main.c
@@ -418,36 +418,11 @@ struct vlan_entry *bond_next_vlan(struct bonding *bond, struct vlan_entry *curr)
  * @bond: bond device that got this skb for tx.
  * @skb: hw accel VLAN tagged skb to transmit
  * @slave_dev: slave that is supposed to xmit this skbuff
- *
- * When the bond gets an skb to transmit that is
- * already hardware accelerated VLAN tagged, and it
- * needs to relay this skb to a slave that is not
- * hw accel capable, the skb needs to be "unaccelerated",
- * i.e. strip the hwaccel tag and re-insert it as part
- * of the payload.
  */
 int bond_dev_queue_xmit(struct bonding *bond, struct sk_buff *skb,
 			struct net_device *slave_dev)
 {
-	unsigned short uninitialized_var(vlan_id);
-
-	/* Test vlan_list not vlgrp to catch and handle 802.1p tags */
-	if (!list_empty(&bond->vlan_list) &&
-	    !(slave_dev->features & NETIF_F_HW_VLAN_TX) &&
-	    vlan_get_tag(skb, &vlan_id) == 0) {
-		skb->dev = slave_dev;
-		skb = vlan_put_tag(skb, vlan_id);
-		if (!skb) {
-			/* vlan_put_tag() frees the skb in case of error,
-			 * so return success here so the calling functions
-			 * won't attempt to free is again.
-			 */
-			return 0;
-		}
-	} else {
-		skb->dev = slave_dev;
-	}
-
+	skb->dev = slave_dev;
 	skb->priority = 1;
 #ifdef CONFIG_NET_POLL_CONTROLLER
 	if (unlikely(bond->dev->priv_flags & IFF_IN_NETPOLL)) {
-- 
1.7.3.2



-- 
Ben Hutchings, Senior Software Engineer, Solarflare Communications
Not speaking for my employer; that's the marketing department's job.
They asked us to note that Solarflare product names are trademarked.


^ permalink raw reply related

* [PATCH net-2.6 2/3] bonding: Change active slave quietly when bond is down
From: Ben Hutchings @ 2010-12-13 18:19 UTC (permalink / raw)
  To: David Miller, Jay Vosburgh; +Cc: netdev, linux-net-drivers
In-Reply-To: <1292264216.9860.11.camel@bwh-desktop>

bond_change_active_slave() may be called when a slave is added, even
if the bond has not been brought up yet.  It may then attempt to send
packets, and further it may use mcast_work which is uninitialised
before the bond is brought up.  Add the necessary checks for
netif_running(bond->dev).

Signed-off-by: Ben Hutchings <bhutchings@solarflare.com>
---
 drivers/net/bonding/bond_main.c |   15 +++++++++------
 1 files changed, 9 insertions(+), 6 deletions(-)

diff --git a/drivers/net/bonding/bond_main.c b/drivers/net/bonding/bond_main.c
index ef370c9..3b16c34 100644
--- a/drivers/net/bonding/bond_main.c
+++ b/drivers/net/bonding/bond_main.c
@@ -1178,11 +1178,13 @@ void bond_change_active_slave(struct bonding *bond, struct slave *new_active)
 				bond_do_fail_over_mac(bond, new_active,
 						      old_active);
 
-			bond->send_grat_arp = bond->params.num_grat_arp;
-			bond_send_gratuitous_arp(bond);
+			if (netif_running(bond->dev)) {
+				bond->send_grat_arp = bond->params.num_grat_arp;
+				bond_send_gratuitous_arp(bond);
 
-			bond->send_unsol_na = bond->params.num_unsol_na;
-			bond_send_unsolicited_na(bond);
+				bond->send_unsol_na = bond->params.num_unsol_na;
+				bond_send_unsolicited_na(bond);
+			}
 
 			write_unlock_bh(&bond->curr_slave_lock);
 			read_unlock(&bond->lock);
@@ -1196,8 +1198,9 @@ void bond_change_active_slave(struct bonding *bond, struct slave *new_active)
 
 	/* resend IGMP joins since active slave has changed or
 	 * all were sent on curr_active_slave */
-	if ((USES_PRIMARY(bond->params.mode) && new_active) ||
-	    bond->params.mode == BOND_MODE_ROUNDROBIN) {
+	if (((USES_PRIMARY(bond->params.mode) && new_active) ||
+	     bond->params.mode == BOND_MODE_ROUNDROBIN) &&
+	    netif_running(bond->dev)) {
 		bond->igmp_retrans = bond->params.resend_igmp;
 		queue_delayed_work(bond->wq, &bond->mcast_work, 0);
 	}
-- 
1.7.3.2



-- 
Ben Hutchings, Senior Software Engineer, Solarflare Communications
Not speaking for my employer; that's the marketing department's job.
They asked us to note that Solarflare product names are trademarked.


^ permalink raw reply related

* [PATCH net-2.6 3/3] bonding/vlan: Fix mangled NAs on slaves without VLAN tag insertion
From: Ben Hutchings @ 2010-12-13 18:20 UTC (permalink / raw)
  To: David Miller, Jay Vosburgh; +Cc: netdev, linux-net-drivers, Jesse Gross
In-Reply-To: <1292264216.9860.11.camel@bwh-desktop>

bond_na_send() attempts to insert a VLAN tag in between building and
sending packets of the respective formats.  If the slave does not
implement hardware VLAN tag insertion then vlan_put_tag() will mangle
the network-layer header because the Ethernet header is not present at
this point (unlike in bond_arp_send()).

Fix this by adding the tag out-of-line and relying on
dev_hard_start_xmit() to insert it inline if necessary.

Signed-off-by: Ben Hutchings <bhutchings@solarflare.com>
---
 drivers/net/bonding/bond_ipv6.c |    7 ++++++-
 1 files changed, 6 insertions(+), 1 deletions(-)

diff --git a/drivers/net/bonding/bond_ipv6.c b/drivers/net/bonding/bond_ipv6.c
index 121b073..84fbd4e 100644
--- a/drivers/net/bonding/bond_ipv6.c
+++ b/drivers/net/bonding/bond_ipv6.c
@@ -88,7 +88,12 @@ static void bond_na_send(struct net_device *slave_dev,
 	}
 
 	if (vlan_id) {
-		skb = vlan_put_tag(skb, vlan_id);
+		/* The Ethernet header is not present yet, so it is
+		 * too early to insert a VLAN tag.  Force use of an
+		 * out-of-line tag here and let dev_hard_start_xmit()
+		 * insert it if the slave hardware can't.
+		 */
+		skb = __vlan_hwaccel_put_tag(skb, vlan_id);
 		if (!skb) {
 			pr_err("failed to insert VLAN tag\n");
 			return;
-- 
1.7.3.2


-- 
Ben Hutchings, Senior Software Engineer, Solarflare Communications
Not speaking for my employer; that's the marketing department's job.
They asked us to note that Solarflare product names are trademarked.


^ permalink raw reply related

* RE: [PATCH 10/27] ixgb: Don't check for vlan group on transmit
From: Tantilov, Emil S @ 2010-12-13 18:43 UTC (permalink / raw)
  To: Jesse Gross, Kirsher, Jeffrey T
  Cc: davem@davemloft.net, netdev@vger.kernel.org, gospo@redhat.com,
	bphilips@novell.com
In-Reply-To: <AANLkTi=mi7pSRXrOyiFx75Feuo29tpw9bJbvHf0BrC_s@mail.gmail.com>

>-----Original Message-----
>From: Jesse Gross [mailto:jesse@nicira.com]
>Sent: Sunday, December 12, 2010 5:01 PM
>To: Kirsher, Jeffrey T
>Cc: davem@davemloft.net; Tantilov, Emil S; netdev@vger.kernel.org;
>gospo@redhat.com; bphilips@novell.com
>Subject: Re: [PATCH 10/27] ixgb: Don't check for vlan group on transmit
>
>On Fri, Dec 10, 2010 at 10:17 PM, Jeff Kirsher
><jeffrey.t.kirsher@intel.com> wrote:
>> From: Emil Tantilov <emil.s.tantilov@intel.com>
>>
>> Based on a patch from Jesse Gross.
>>
>> Enable vlan tag insertion even when vlan group is not configured.
>>
>> For ixgb HW both CTRL0.VME and VLE bit in the Tx descriptor need to be
>set
>> in order to enable HW acceleration.
>>
>> Introduced separate functions for enabling/disabling of vlan tag
>stripping
>> similar to ixgbe.
>
>Thanks for working on this.  However, I don't think that this patch
>actually does what it says.
>
>In ixgb_xmit_frame() it's still checking whether adapter->vlgrp is
>non-null before inserting a tag, so it will drop tags unless a vlan
>group is configured.  Also, since it's not currently possible to
>toggle NETIF_F_HW_VLAN_RX, vlan stripping will never get disabled.
>This is actually a regression since before vlan stripping would get
>disabled if no vlan group was configured.  Now, vlan headers will get
>silently dropped if there is no vlan group.
I'm sorry. This patch was supposed to include your original patch that 
removed the vlgrp check on Tx. Somehow that didn't make it (I may have generated the patch from the wrong branch).

>Regardless of that, I still think this is a useful change on the road
>towards adopting the new vlan interfaces, the problem is just that
>currently it's halfway in between the old and the new.  Given that, it
>would obviously be much better to move all the way over the new when
>addressing this.
Since this patch is already applied can you submit your change again?

>Out of curiosity, is the implication of this that vlan insertion on
>transmit and stripping on receive are always configured together?  I
>don't have hardware supported by this driver but when I worked on
>ixgbe (which is at least superficially similar in this area) I didn't
>have any problems configuring them independently.

Yes - the design of the original 10GB HW supported in ixgb does not allow 
setting Tx and Rx independently. As you mentioned ixgbe does not have 
this problem.

>
>Thanks.

Thanks,
Emil


^ permalink raw reply

* Re: linux-next: Tree for December 10
From: Zimny Lech @ 2010-12-13 19:02 UTC (permalink / raw)
  To: Stephen Rothwell; +Cc: linux-next, LKML, Wolfgang Grandegger, netdev
In-Reply-To: <20101210135746.0cf6cbcd.sfr@canb.auug.org.au>

[-- Attachment #1: Type: text/plain, Size: 2102 bytes --]

Ave,

2010/12/10 Stephen Rothwell <sfr@canb.auug.org.au>:
> Hi all,
>
> Changes since 20101209:
>

WARNING: modpost: Found 14 section mismatch(es).
To see full details build your kernel with:
'make CONFIG_DEBUG_SECTION_MISMATCH=y'
  GEN     .version
  CHK     include/generated/compile.h
  UPD     include/generated/compile.h
  CC      init/version.o
  LD      init/built-in.o
  LD      .tmp_vmlinux1
arch/x86/built-in.o: In function `kvm_smp_prepare_boot_cpu':
kvm.c:(.init.text+0xf446): undefined reference to `kvm_register_clock'
drivers/built-in.o: In function `generate_netlink_event':
(.text+0x1087ee): undefined reference to `__alloc_skb'
drivers/built-in.o: In function `generate_netlink_event':
(.text+0x108897): undefined reference to `skb_put'
drivers/built-in.o: In function `generate_netlink_event':
(.text+0x108930): undefined reference to `kfree_skb'
drivers/built-in.o: In function `generate_netlink_event':
(.text+0x108947): undefined reference to `nla_reserve'
drivers/built-in.o: In function `generate_netlink_event':
(.text+0x108990): undefined reference to `kfree_skb'
drivers/built-in.o: In function `generate_netlink_event':
(.text+0x1089e9): undefined reference to `kfree_skb'
drivers/built-in.o: In function `generate_netlink_event':
(.text+0x1089f8): undefined reference to `init_net'
drivers/built-in.o: In function `generate_netlink_event':
(.text+0x108a0b): undefined reference to `netlink_broadcast'
drivers/built-in.o: In function `thermal_init':
thermal_sys.c:(.init.text+0xbd00): undefined reference to `genl_register_family'
thermal_sys.c:(.init.text+0xbd2f): undefined reference to
`genl_register_mc_group'
thermal_sys.c:(.init.text+0xbd57): undefined reference to
`genl_unregister_family'
drivers/built-in.o: In function `thermal_exit':
thermal_sys.c:(.exit.text+0x154c): undefined reference to
`genl_unregister_family'
make[1]: *** [.tmp_vmlinux1] Error 1
make: *** [sub-make] Error 2


-- 
Slawa!
Zimny "Spie dziadu!" Lech z Wawelu

Hej, tam!
Wydarłem klejnot szans
http://www.youtube.com/watch?v=VXWTlYzVFUA

[-- Attachment #2: 10-12-13-17-00-09-buildlog --]
[-- Type: application/octet-stream, Size: 41803 bytes --]

  GEN     /home/test/linux-2.6-obj/Makefile
scripts/kconfig/conf --silentoldconfig Kconfig
drivers/platform/x86/Kconfig:422:error: recursive dependency detected!
drivers/platform/x86/Kconfig:422:	symbol EEEPC_WMI depends on ACPI_WMI
drivers/platform/x86/Kconfig:438:	symbol ACPI_WMI is selected by ACER_WMI
drivers/platform/x86/Kconfig:18:	symbol ACER_WMI depends on LEDS_CLASS
drivers/leds/Kconfig:10:	symbol LEDS_CLASS is selected by EEEPC_WMI
#
# configuration written to .config
#
  Using /home/test/linux-2.6 as source for kernel
  GEN     /home/test/linux-2.6-obj/Makefile
  CHK     include/linux/version.h
  CHK     include/generated/utsrelease.h
  CC      kernel/bounds.s
  GEN     include/generated/bounds.h
  CC      arch/x86/kernel/asm-offsets.s
  GEN     include/generated/asm-offsets.h
  CALL    /home/test/linux-2.6/scripts/checksyscalls.sh
  CC      scripts/mod/empty.o
  MKELF   scripts/mod/elfconfig.h
  HOSTCC  scripts/mod/file2alias.o
  HOSTCC  scripts/mod/modpost.o
  HOSTCC  scripts/mod/sumversion.o
  HOSTLD  scripts/mod/modpost
  CC      init/main.o
  CHK     include/generated/compile.h
  UPD     include/generated/compile.h
  CC      init/version.o
  CC      init/do_mounts.o
  LD      init/mounts.o
  CC      init/noinitramfs.o
  CC      init/calibrate.o
  LD      init/built-in.o
  LD      usr/built-in.o
  CC      arch/x86/kernel/process_64.o
  CC      arch/x86/kernel/signal.o
  AS      arch/x86/kernel/entry_64.o
  CC      arch/x86/kernel/traps.o
  CC      arch/x86/kernel/irq.o
  CC      arch/x86/kernel/irq_64.o
  CC      arch/x86/kernel/dumpstack_64.o
/home/test/linux-2.6/arch/x86/kernel/dumpstack_64.c: In function 'dump_trace':
/home/test/linux-2.6/arch/x86/kernel/dumpstack_64.c:172:9: warning: 'id' may be used uninitialized in this function
  CC      arch/x86/kernel/time.o
  CC      arch/x86/kernel/ioport.o
  CC      arch/x86/kernel/ldt.o
  CC      arch/x86/kernel/dumpstack.o
  CC      arch/x86/kernel/setup.o
  CC      arch/x86/kernel/x86_init.o
  CC      arch/x86/kernel/i8259.o
  CC      arch/x86/kernel/irqinit.o
  CC      arch/x86/kernel/jump_label.o
  CC      arch/x86/kernel/irq_work.o
  CC      arch/x86/kernel/sys_x86_64.o
  CC      arch/x86/kernel/x8664_ksyms_64.o
  CC      arch/x86/kernel/syscall_64.o
  CC      arch/x86/kernel/vsyscall_64.o
  CC      arch/x86/kernel/bootflag.o
  CC      arch/x86/kernel/e820.o
  CC      arch/x86/kernel/pci-dma.o
  CC      arch/x86/kernel/quirks.o
  CC      arch/x86/kernel/i8237.o
  CC      arch/x86/kernel/topology.o
  CC      arch/x86/kernel/kdebugfs.o
  CC      arch/x86/kernel/alternative.o
  CC      arch/x86/kernel/i8253.o
  CC      arch/x86/kernel/pci-nommu.o
  CC      arch/x86/kernel/hw_breakpoint.o
  CC      arch/x86/kernel/tsc.o
  CC      arch/x86/kernel/io_delay.o
  CC      arch/x86/kernel/rtc.o
  CC      arch/x86/kernel/pci-iommu_table.o
  CC      arch/x86/kernel/resource.o
  CC      arch/x86/kernel/trampoline.o
  CC      arch/x86/kernel/process.o
  CC      arch/x86/kernel/i387.o
  CC      arch/x86/kernel/xsave.o
  CC      arch/x86/kernel/ptrace.o
  CC      arch/x86/kernel/step.o
  CC      arch/x86/kernel/stacktrace.o
  CC      arch/x86/kernel/apic/apic.o
  CC      arch/x86/kernel/apic/apic_noop.o
  CC      arch/x86/kernel/apic/probe_64.o
  CC      arch/x86/kernel/apic/ipi.o
  CC      arch/x86/kernel/apic/hw_nmi.o
  CC      arch/x86/kernel/apic/io_apic.o
  CC      arch/x86/kernel/apic/apic_flat_64.o
  LD      arch/x86/kernel/apic/built-in.o
  CC      arch/x86/kernel/cpu/intel_cacheinfo.o
  CC      arch/x86/kernel/cpu/scattered.o
  CC      arch/x86/kernel/cpu/topology.o
  CC      arch/x86/kernel/cpu/proc.o
  CC      arch/x86/kernel/cpu/capflags.o
  CC      arch/x86/kernel/cpu/powerflags.o
  CC      arch/x86/kernel/cpu/common.o
  CC      arch/x86/kernel/cpu/vmware.o
  CC      arch/x86/kernel/cpu/hypervisor.o
  CC      arch/x86/kernel/cpu/sched.o
  CC      arch/x86/kernel/cpu/mshyperv.o
  CC      arch/x86/kernel/cpu/bugs_64.o
  CC      arch/x86/kernel/cpu/intel.o
  CC      arch/x86/kernel/cpu/centaur.o
  CC      arch/x86/kernel/cpu/perf_event.o
  CC      arch/x86/kernel/cpu/cpufreq/speedstep-lib.o
  CC      arch/x86/kernel/cpu/cpufreq/p4-clockmod.o
  LD      arch/x86/kernel/cpu/cpufreq/built-in.o
  CC      arch/x86/kernel/cpu/mcheck/mce.o
  CC      arch/x86/kernel/cpu/mcheck/mce-severity.o
  CC      arch/x86/kernel/cpu/mcheck/mce_intel.o
  CC      arch/x86/kernel/cpu/mcheck/mce_amd.o
  CC      arch/x86/kernel/cpu/mcheck/threshold.o
  CC      arch/x86/kernel/cpu/mcheck/therm_throt.o
  LD      arch/x86/kernel/cpu/mcheck/built-in.o
  CC      arch/x86/kernel/cpu/mtrr/main.o
  CC      arch/x86/kernel/cpu/mtrr/if.o
  CC      arch/x86/kernel/cpu/mtrr/generic.o
  CC      arch/x86/kernel/cpu/mtrr/cleanup.o
  LD      arch/x86/kernel/cpu/mtrr/built-in.o
  CC      arch/x86/kernel/cpu/perfctr-watchdog.o
  LD      arch/x86/kernel/cpu/built-in.o
  CC      arch/x86/kernel/reboot.o
  CC      arch/x86/kernel/smp.o
  CC      arch/x86/kernel/smpboot.o
  CC      arch/x86/kernel/tsc_sync.o
  CC      arch/x86/kernel/setup_percpu.o
  AS      arch/x86/kernel/trampoline_64.o
  CC      arch/x86/kernel/mpparse.o
  CC      arch/x86/kernel/ftrace.o
  CC      arch/x86/kernel/hpet.o
  CC      arch/x86/kernel/kvm.o
  CC      arch/x86/kernel/paravirt.o
  CC      arch/x86/kernel/paravirt_patch_64.o
  CC      arch/x86/kernel/pvclock.o
  CC      arch/x86/kernel/pcspeaker.o
  CC      arch/x86/kernel/check.o
  CC      arch/x86/kernel/pci-swiotlb.o
  CC      arch/x86/kernel/vsmp_64.o
  LD      arch/x86/kernel/built-in.o
  AS      arch/x86/kernel/head_64.o
  CC      arch/x86/kernel/head64.o
  CC      arch/x86/kernel/head.o
  CC      arch/x86/kernel/init_task.o
  LDS     arch/x86/kernel/vmlinux.lds
  CC      arch/x86/mm/init.o
  CC      arch/x86/mm/init_64.o
  CC      arch/x86/mm/fault.o
  CC      arch/x86/mm/ioremap.o
  CC      arch/x86/mm/extable.o
  CC      arch/x86/mm/pageattr.o
  CC      arch/x86/mm/mmap.o
  CC      arch/x86/mm/pat.o
  CC      arch/x86/mm/pgtable.o
  CC      arch/x86/mm/physaddr.o
  CC      arch/x86/mm/gup.o
  CC      arch/x86/mm/setup_nx.o
  CC      arch/x86/mm/pat_rbtree.o
  CC      arch/x86/mm/tlb.o
  CC      arch/x86/mm/memblock.o
  LD      arch/x86/mm/built-in.o
  LD      arch/x86/platform/sfi/built-in.o
  LD      arch/x86/platform/built-in.o
  CC      arch/x86/vdso/vma.o
  AS      arch/x86/vdso/vdso-note.o
  CC      arch/x86/vdso/vclock_gettime.o
  CC      arch/x86/vdso/vgetcpu.o
  CC      arch/x86/vdso/vvar.o
  VDSO    arch/x86/vdso/vdso.so.dbg
  OBJCOPY arch/x86/vdso/vdso.so
  AS      arch/x86/vdso/vdso.o
  VDSOSYM arch/x86/vdso/vdso-syms.lds
  LD      arch/x86/vdso/built-in.o
  CC      arch/x86/xen/enlighten.o
  CC      arch/x86/xen/setup.o
  CC      arch/x86/xen/multicalls.o
  CC      arch/x86/xen/mmu.o
  CC      arch/x86/xen/irq.o
  CC      arch/x86/xen/time.o
  AS      arch/x86/xen/xen-asm.o
  AS      arch/x86/xen/xen-asm_64.o
  CC      arch/x86/xen/grant-table.o
  CC      arch/x86/xen/suspend.o
  CC      arch/x86/xen/platform-pci-unplug.o
  CC      arch/x86/xen/smp.o
  LD      arch/x86/xen/built-in.o
  LD      arch/x86/built-in.o
  CC      kernel/sched.o
/home/test/linux-2.6/kernel/sched.c: In function 'pick_next_task':
/home/test/linux-2.6/kernel/sched.c:3875:1: warning: control reaches end of non-void function
  CC      kernel/fork.o
  CC      kernel/exec_domain.o
  CC      kernel/panic.o
  CC      kernel/printk.o
  CC      kernel/cpu.o
  CC      kernel/exit.o
  CC      kernel/itimer.o
  TIMEC   kernel/timeconst.h
  CC      kernel/time.o
  CC      kernel/softirq.o
  CC      kernel/resource.o
  CC      kernel/sysctl.o
  CC      kernel/sysctl_binary.o
  CC      kernel/capability.o
  CC      kernel/ptrace.o
/home/test/linux-2.6/kernel/ptrace.c: In function 'ptrace_request':
/home/test/linux-2.6/kernel/ptrace.c:655:16: warning: 'kiov.iov_len' may be used uninitialized in this function
  CC      kernel/timer.o
  CC      kernel/user.o
  CC      kernel/signal.o
  CC      kernel/sys.o
  CC      kernel/kmod.o
  CC      kernel/workqueue.o
/home/test/linux-2.6/kernel/workqueue.c: In function '__queue_work':
/home/test/linux-2.6/kernel/workqueue.c:951:22: warning: 'last_gcwq' may be used uninitialized in this function
  CC      kernel/pid.o
  CC      kernel/rcupdate.o
  CC      kernel/extable.o
  CC      kernel/params.o
  CC      kernel/posix-timers.o
  CC      kernel/kthread.o
  CC      kernel/wait.o
  CC      kernel/kfifo.o
  CC      kernel/sys_ni.o
  CC      kernel/posix-cpu-timers.o
  CC      kernel/mutex.o
  CC      kernel/hrtimer.o
  CC      kernel/rwsem.o
  CC      kernel/nsproxy.o
  CC      kernel/srcu.o
  CC      kernel/semaphore.o
  CC      kernel/notifier.o
  CC      kernel/ksysfs.o
  CC      kernel/pm_qos_params.o
/home/test/linux-2.6/kernel/pm_qos_params.c: In function 'pm_qos_get_value':
/home/test/linux-2.6/kernel/pm_qos_params.c:133:1: warning: control reaches end of non-void function
  CC      kernel/sched_clock.o
  CC      kernel/cred.o
  CC      kernel/async.o
/home/test/linux-2.6/kernel/async.c: In function 'async_run_entry_fn':
/home/test/linux-2.6/kernel/async.c:122:10: warning: 'calltime.tv64' may be used uninitialized in this function
/home/test/linux-2.6/kernel/async.c: In function 'async_synchronize_cookie_domain':
/home/test/linux-2.6/kernel/async.c:270:10: warning: 'starttime.tv64' may be used uninitialized in this function
  CC      kernel/range.o
  CC      kernel/jump_label.o
  CC      kernel/groups.o
  CC      kernel/freezer.o
  CC      kernel/profile.o
  CC      kernel/stacktrace.o
  CC      kernel/gcov/base.o
  CC      kernel/gcov/fs.o
  CC      kernel/gcov/gcc_3_4.o
  LD      kernel/gcov/built-in.o
  CC      kernel/irq/irqdesc.o
  CC      kernel/irq/handle.o
  CC      kernel/irq/manage.o
  CC      kernel/irq/spurious.o
  CC      kernel/irq/resend.o
  CC      kernel/irq/chip.o
  CC      kernel/irq/dummychip.o
  CC      kernel/irq/devres.o
  CC      kernel/irq/autoprobe.o
  CC      kernel/irq/proc.o
  CC      kernel/irq/migration.o
  CC      kernel/irq/pm.o
  LD      kernel/irq/built-in.o
  CC      kernel/power/main.o
  CC      kernel/power/console.o
  CC      kernel/power/process.o
  CC      kernel/power/suspend.o
  CC      kernel/power/nvs.o
  LD      kernel/power/built-in.o
  CC      kernel/time/timekeeping.o
  CC      kernel/time/ntp.o
  CC      kernel/time/clocksource.o
  CC      kernel/time/jiffies.o
  CC      kernel/time/timer_list.o
  CC      kernel/time/timecompare.o
  CC      kernel/time/timeconv.o
  CC      kernel/time/clockevents.o
  CC      kernel/time/tick-common.o
  CC      kernel/time/tick-broadcast.o
  CC      kernel/time/tick-oneshot.o
  CC      kernel/time/tick-sched.o
  LD      kernel/time/built-in.o
  CC      kernel/trace/trace_selftest_dynamic.o
  CC      kernel/trace/trace_clock.o
  CC      kernel/trace/ftrace.o
  LD      kernel/trace/libftrace.o
  CC      kernel/trace/ring_buffer.o
  CC      kernel/trace/trace.o
  CC      kernel/trace/trace_output.o
  CC      kernel/trace/trace_stat.o
  CC      kernel/trace/trace_printk.o
  CC      kernel/trace/trace_sched_switch.o
  CC      kernel/trace/trace_functions.o
  CC      kernel/trace/trace_irqsoff.o
  CC      kernel/trace/trace_nop.o
  CC      kernel/trace/trace_stack.o
  CC      kernel/trace/trace_branch.o
  CC      kernel/trace/trace_events.o
  CC      kernel/trace/trace_export.o
  CC      kernel/trace/trace_syscalls.o
  CC      kernel/trace/trace_event_perf.o
  CC      kernel/trace/trace_events_filter.o
  CC      kernel/trace/power-traces.o
  LD      kernel/trace/built-in.o
  CC      kernel/futex.o
/home/test/linux-2.6/kernel/futex.c: In function 'exit_robust_list':
/home/test/linux-2.6/kernel/futex.c:2477:29: warning: 'entry' may be used uninitialized in this function
/home/test/linux-2.6/kernel/futex.c:2478:42: warning: 'pi' may be used uninitialized in this function
/home/test/linux-2.6/kernel/futex.c:2477:50: warning: 'pending' may be used uninitialized in this function
/home/test/linux-2.6/kernel/futex.c:2478:46: warning: 'pip' may be used uninitialized in this function
  CC      kernel/rtmutex.o
  CC      kernel/dma.o
  CC      kernel/smp.o
  CC      kernel/spinlock.o
  CC      kernel/kallsyms.o
  CC      kernel/stop_machine.o
  CC      kernel/seccomp.o
  CC      kernel/rcutree.o
  CC      kernel/rcutree_trace.o
  CC      kernel/relay.o
  CC      kernel/tracepoint.o
  CC      kernel/elfcore.o
  CC      kernel/sched_cpupri.o
  CC      kernel/irq_work.o
  CC      kernel/perf_event.o
  CC      kernel/hw_breakpoint.o
  LD      kernel/built-in.o
  CC      mm/bootmem.o
  CC      mm/filemap.o
  CC      mm/mempool.o
  CC      mm/oom_kill.o
  CC      mm/fadvise.o
  CC      mm/maccess.o
  CC      mm/page_alloc.o
  CC      mm/page-writeback.o
  CC      mm/readahead.o
  CC      mm/swap.o
  CC      mm/truncate.o
  CC      mm/vmscan.o
  CC      mm/shmem.o
  CC      mm/prio_tree.o
  CC      mm/util.o
  CC      mm/mmzone.o
  CC      mm/vmstat.o
  CC      mm/backing-dev.o
  CC      mm/page_isolation.o
  CC      mm/mm_init.o
  CC      mm/mmu_context.o
  CC      mm/percpu.o
  CC      mm/fremap.o
  CC      mm/highmem.o
  CC      mm/madvise.o
  CC      mm/memory.o
  CC      mm/mincore.o
  CC      mm/mlock.o
  CC      mm/mmap.o
  CC      mm/mprotect.o
  CC      mm/mremap.o
  CC      mm/msync.o
  CC      mm/rmap.o
  CC      mm/vmalloc.o
  CC      mm/pagewalk.o
  CC      mm/init-mm.o
  CC      mm/memblock.o
  CC      mm/dmapool.o
  CC      mm/sparse.o
  CC      mm/ksm.o
  CC      mm/slub.o
  CC      mm/memory_hotplug.o
  LD      mm/built-in.o
  CC      fs/open.o
  CC      fs/read_write.o
  CC      fs/file_table.o
  CC      fs/super.o
  CC      fs/char_dev.o
  CC      fs/stat.o
  CC      fs/exec.o
/home/test/linux-2.6/fs/exec.c: In function 'copy_strings':
/home/test/linux-2.6/fs/exec.c:435:7: warning: 'len' may be used uninitialized in this function
  CC      fs/pipe.o
  CC      fs/namei.o
  CC      fs/fcntl.o
  CC      fs/ioctl.o
  CC      fs/readdir.o
  CC      fs/select.o
  CC      fs/fifo.o
  CC      fs/dcache.o
/home/test/linux-2.6/fs/dcache.c: In function 'd_materialise_unique':
/home/test/linux-2.6/fs/dcache.c:1905:1: warning: control reaches end of non-void function
  CC      fs/inode.o
  CC      fs/attr.o
  CC      fs/bad_inode.o
  CC      fs/file.o
  CC      fs/filesystems.o
  CC      fs/namespace.o
  CC      fs/seq_file.o
  CC      fs/xattr.o
  CC      fs/libfs.o
  CC      fs/fs-writeback.o
  CC      fs/pnode.o
  CC      fs/drop_caches.o
  CC      fs/splice.o
  CC      fs/sync.o
  CC      fs/utimes.o
  CC      fs/stack.o
  CC      fs/fs_struct.o
  CC      fs/statfs.o
  CC      fs/no-block.o
  CC      fs/debugfs/inode.o
  CC      fs/debugfs/file.o
  LD      fs/debugfs/debugfs.o
  LD      fs/debugfs/built-in.o
  LD      fs/devpts/built-in.o
  CC      fs/fuse/dev.o
  CC      fs/fuse/dir.o
  CC      fs/fuse/file.o
  CC      fs/fuse/inode.o
  CC      fs/fuse/control.o
  LD      fs/fuse/fuse.o
  CC      fs/fuse/cuse.o
/home/test/linux-2.6/fs/fuse/cuse.c: In function 'cuse_process_init_reply':
/home/test/linux-2.6/fs/fuse/cuse.c:269:8: warning: 'key' may be used uninitialized in this function
/home/test/linux-2.6/fs/fuse/cuse.c:269:8: note: 'key' was declared here
/home/test/linux-2.6/fs/fuse/cuse.c:269:14: warning: 'val' may be used uninitialized in this function
/home/test/linux-2.6/fs/fuse/cuse.c:269:14: note: 'val' was declared here
  LD      fs/fuse/built-in.o
  CC      fs/notify/fsnotify.o
  CC      fs/notify/notification.o
  CC      fs/notify/group.o
  CC      fs/notify/inode_mark.o
  CC      fs/notify/mark.o
  CC      fs/notify/vfsmount_mark.o
  CC      fs/notify/dnotify/dnotify.o
  LD      fs/notify/dnotify/built-in.o
  CC      fs/notify/fanotify/fanotify.o
/home/test/linux-2.6/fs/notify/fanotify/fanotify.c: In function 'fanotify_should_send_event':
/home/test/linux-2.6/fs/notify/fanotify/fanotify.c:167:8: warning: 'marks_mask' may be used uninitialized in this function
/home/test/linux-2.6/fs/notify/fanotify/fanotify.c:167:20: warning: 'marks_ignored_mask' may be used uninitialized in this function
  CC      fs/notify/fanotify/fanotify_user.o
  LD      fs/notify/fanotify/built-in.o
  LD      fs/notify/inotify/built-in.o
  LD      fs/notify/built-in.o
  CC      fs/proc/mmu.o
  CC      fs/proc/task_mmu.o
  CC      fs/proc/inode.o
  CC      fs/proc/root.o
  CC      fs/proc/base.o
  CC      fs/proc/generic.o
  CC      fs/proc/array.o
  CC      fs/proc/proc_tty.o
  CC      fs/proc/cmdline.o
  CC      fs/proc/cpuinfo.o
  CC      fs/proc/devices.o
  CC      fs/proc/interrupts.o
  CC      fs/proc/loadavg.o
  CC      fs/proc/meminfo.o
  CC      fs/proc/proc_console.o
  CC      fs/proc/stat.o
  CC      fs/proc/uptime.o
  CC      fs/proc/version.o
  CC      fs/proc/softirqs.o
  CC      fs/proc/kmsg.o
  CC      fs/proc/page.o
  LD      fs/proc/proc.o
  LD      fs/proc/built-in.o
  CC      fs/ramfs/inode.o
  CC      fs/ramfs/file-mmu.o
  LD      fs/ramfs/ramfs.o
  LD      fs/ramfs/built-in.o
  CC      fs/anon_inodes.o
  CC      fs/timerfd.o
  CC      fs/aio.o
  CC      fs/locks.o
/home/test/linux-2.6/fs/locks.c: In function 'sys_flock':
/home/test/linux-2.6/fs/locks.c:1614:20: warning: 'lock' may be used uninitialized in this function
  CC      fs/binfmt_misc.o
  CC      fs/binfmt_script.o
  CC      fs/binfmt_elf.o
  CC      fs/dcookies.o
  LD      fs/built-in.o
  CC      ipc/util.o
  CC      ipc/msgutil.o
  CC      ipc/msg.o
  CC      ipc/sem.o
/home/test/linux-2.6/ipc/sem.c: In function 'copy_semundo':
/home/test/linux-2.6/ipc/sem.c:1501:24: warning: 'undo_list' may be used uninitialized in this function
  CC      ipc/shm.o
  CC      ipc/ipcns_notifier.o
  CC      ipc/syscall.o
  LD      ipc/built-in.o
  CC      security/keys/gc.o
  CC      security/keys/key.o
  CC      security/keys/keyring.o
  CC      security/keys/keyctl.o
  CC      security/keys/permission.o
  CC      security/keys/process_keys.o
  CC      security/keys/request_key.o
  CC      security/keys/request_key_auth.o
  CC      security/keys/user_defined.o
  CC      security/keys/proc.o
  LD      security/keys/built-in.o
  CC      security/commoncap.o
  CC      security/min_addr.o
  CC      security/inode.o
  LD      security/built-in.o
  LD      crypto/built-in.o
  LD      drivers/accessibility/braille/built-in.o
  LD      drivers/accessibility/built-in.o
  CC      drivers/base/core.o
  CC      drivers/base/sys.o
  CC      drivers/base/bus.o
  CC      drivers/base/dd.o
  CC      drivers/base/driver.o
  CC      drivers/base/class.o
  CC      drivers/base/platform.o
  CC      drivers/base/cpu.o
  CC      drivers/base/firmware.o
  CC      drivers/base/init.o
  CC      drivers/base/map.o
  CC      drivers/base/devres.o
  CC      drivers/base/attribute_container.o
  CC      drivers/base/transport_class.o
  CC      drivers/base/devtmpfs.o
  CC      drivers/base/power/sysfs.o
  CC      drivers/base/power/main.o
/home/test/linux-2.6/drivers/base/power/main.c: In function 'pm_noirq_op':
/home/test/linux-2.6/drivers/base/power/main.c:307:10: warning: 'calltime.tv64' may be used uninitialized in this function
  CC      drivers/base/power/wakeup.o
  CC      drivers/base/power/generic_ops.o
  LD      drivers/base/power/built-in.o
  CC      drivers/base/dma-mapping.o
  CC      drivers/base/firmware_class.o
  CC      drivers/base/memory.o
  CC      drivers/base/topology.o
  LD      drivers/base/built-in.o
  CC      drivers/char/mem.o
  CC      drivers/char/random.o
  CC      drivers/char/ttyprintk.o
  CC      drivers/char/misc.o
  CC      drivers/char/specialix.o
  CC      drivers/char/riscom8.o
  CC      drivers/char/nvram.o
  CC      drivers/char/i8k.o
  CC      drivers/char/tpm/tpm.o
  CC      drivers/char/tpm/tpm_atmel.o
/home/test/linux-2.6/drivers/char/tpm/tpm_atmel.c: In function 'init_atmel':
/home/test/linux-2.6/drivers/char/tpm/tpm_atmel.c:194:16: warning: 'base' may be used uninitialized in this function
  LD      drivers/char/tpm/built-in.o
  CC      drivers/char/ramoops.o
  LD      drivers/char/built-in.o
  CC      drivers/cpufreq/cpufreq.o
  CC      drivers/cpufreq/cpufreq_powersave.o
  CC      drivers/cpufreq/cpufreq_userspace.o
  CC      drivers/cpufreq/cpufreq_conservative.o
  CC      drivers/cpufreq/freq_table.o
  LD      drivers/cpufreq/built-in.o
  CC      drivers/cpuidle/cpuidle.o
  CC      drivers/cpuidle/driver.o
  CC      drivers/cpuidle/governor.o
  CC      drivers/cpuidle/sysfs.o
  CC      drivers/cpuidle/governors/ladder.o
  CC      drivers/cpuidle/governors/menu.o
  LD      drivers/cpuidle/governors/built-in.o
  LD      drivers/cpuidle/built-in.o
  CC      drivers/edac/edac_stub.o
  CC      drivers/edac/edac_mc.o
  CC      drivers/edac/edac_device.o
  CC      drivers/edac/edac_mc_sysfs.o
  CC      drivers/edac/edac_pci_sysfs.o
  CC      drivers/edac/edac_module.o
  CC      drivers/edac/edac_device_sysfs.o
  LD      drivers/edac/edac_core.o
  LD      drivers/edac/built-in.o
  LD      drivers/firewire/built-in.o
  CC      drivers/firmware/dmi_scan.o
  CC      drivers/firmware/dell_rbu.o
  CC      drivers/firmware/dcdbas.o
  LD      drivers/firmware/built-in.o
  LD      drivers/gpio/built-in.o
  CC      drivers/gpu/drm/drm_auth.o
  CC      drivers/gpu/drm/drm_buffer.o
  CC      drivers/gpu/drm/drm_bufs.o
/home/test/linux-2.6/drivers/gpu/drm/drm_bufs.c: In function 'drm_rmmap_locked':
/home/test/linux-2.6/drivers/gpu/drm/drm_bufs.c:429:21: warning: 'master' may be used uninitialized in this function
  CC      drivers/gpu/drm/drm_cache.o
  CC      drivers/gpu/drm/drm_context.o
  CC      drivers/gpu/drm/drm_dma.o
  CC      drivers/gpu/drm/drm_drv.o
  CC      drivers/gpu/drm/drm_fops.o
  CC      drivers/gpu/drm/drm_gem.o
  CC      drivers/gpu/drm/drm_ioctl.o
  CC      drivers/gpu/drm/drm_irq.o
  CC      drivers/gpu/drm/drm_lock.o
  CC      drivers/gpu/drm/drm_memory.o
  CC      drivers/gpu/drm/drm_proc.o
  CC      drivers/gpu/drm/drm_stub.o
  CC      drivers/gpu/drm/drm_vm.o
  CC      drivers/gpu/drm/drm_agpsupport.o
  CC      drivers/gpu/drm/drm_scatter.o
  CC      drivers/gpu/drm/ati_pcigart.o
  CC      drivers/gpu/drm/drm_pci.o
  CC      drivers/gpu/drm/drm_platform.o
  CC      drivers/gpu/drm/drm_sysfs.o
  CC      drivers/gpu/drm/drm_hashtab.o
  CC      drivers/gpu/drm/drm_sman.o
  CC      drivers/gpu/drm/drm_mm.o
  CC      drivers/gpu/drm/drm_crtc.o
  CC      drivers/gpu/drm/drm_modes.o
  CC      drivers/gpu/drm/drm_edid.o
  CC      drivers/gpu/drm/drm_info.o
  CC      drivers/gpu/drm/drm_debugfs.o
  CC      drivers/gpu/drm/drm_encoder_slave.o
  CC      drivers/gpu/drm/drm_trace_points.o
  CC      drivers/gpu/drm/drm_global.o
  LD      drivers/gpu/drm/drm.o
  LD      drivers/gpu/drm/built-in.o
  LD      drivers/gpu/built-in.o
  CC      drivers/hwmon/hwmon.o
  CC      drivers/hwmon/hwmon-vid.o
  CC      drivers/hwmon/asb100.o
  CC      drivers/hwmon/w83627hf.o
  CC      drivers/hwmon/w83793.o
  CC      drivers/hwmon/abituguru.o
  CC      drivers/hwmon/abituguru3.o
  CC      drivers/hwmon/adm1021.o
  CC      drivers/hwmon/adm1026.o
  CC      drivers/hwmon/adm9240.o
  CC      drivers/hwmon/ads7828.o
  CC      drivers/hwmon/ads7871.o
  CC      drivers/hwmon/adt7462.o
  CC      drivers/hwmon/adt7470.o
  CC      drivers/hwmon/adt7475.o
  CC      drivers/hwmon/asc7621.o
  CC      drivers/hwmon/atxp1.o
  CC      drivers/hwmon/pkgtemp.o
  CC      drivers/hwmon/dme1737.o
  CC      drivers/hwmon/ds1621.o
  CC      drivers/hwmon/f71805f.o
  CC      drivers/hwmon/f71882fg.o
  CC      drivers/hwmon/fschmd.o
  CC      drivers/hwmon/gl518sm.o
  CC      drivers/hwmon/gl520sm.o
  CC      drivers/hwmon/it87.o
  CC      drivers/hwmon/lis3lv02d.o
  CC      drivers/hwmon/lis3lv02d_spi.o
  CC      drivers/hwmon/lm75.o
  CC      drivers/hwmon/lm77.o
  CC      drivers/hwmon/lm80.o
  CC      drivers/hwmon/lm85.o
  CC      drivers/hwmon/lm87.o
  CC      drivers/hwmon/lm90.o
/home/test/linux-2.6/drivers/hwmon/lm90.c: In function 'lm90_detect':
/home/test/linux-2.6/drivers/hwmon/lm90.c:1092:14: warning: 'chip_id' may be used uninitialized in this function
/home/test/linux-2.6/drivers/hwmon/lm90.c:1092:23: warning: 'reg_config1' may be used uninitialized in this function
/home/test/linux-2.6/drivers/hwmon/lm90.c:1092:36: warning: 'reg_convrate' may be used uninitialized in this function
/home/test/linux-2.6/drivers/hwmon/lm90.c:1159:18: warning: 'reg_emerg2' may be used uninitialized in this function
/home/test/linux-2.6/drivers/hwmon/lm90.c:1159:30: warning: 'reg_status2' may be used uninitialized in this function
  CC      drivers/hwmon/ltc4261.o
  CC      drivers/hwmon/pc87360.o
  CC      drivers/hwmon/pcf8591.o
  CC      drivers/hwmon/smsc47b397.o
/home/test/linux-2.6/drivers/hwmon/smsc47b397.c: In function 'smsc47b397_init':
/home/test/linux-2.6/drivers/hwmon/smsc47b397.c:379:17: warning: 'address' may be used uninitialized in this function
  CC      drivers/hwmon/amc6821.o
  CC      drivers/hwmon/tmp421.o
  CC      drivers/hwmon/w83l785ts.o
  CC      drivers/hwmon/wm831x-hwmon.o
  CC      drivers/hwmon/wm8350-hwmon.o
  LD      drivers/hwmon/built-in.o
  CC      drivers/i2c/i2c-boardinfo.o
  CC      drivers/i2c/i2c-core.o
  CC      drivers/i2c/i2c-smbus.o
  CC      drivers/i2c/i2c-dev.o
  CC      drivers/i2c/i2c-mux.o
  CC      drivers/i2c/algos/i2c-algo-bit.o
  CC      drivers/i2c/algos/i2c-algo-pca.o
  LD      drivers/i2c/algos/built-in.o
  CC      drivers/i2c/busses/i2c-pca-platform.o
  CC      drivers/i2c/busses/i2c-simtec.o
  CC      drivers/i2c/busses/i2c-parport-light.o
  CC      drivers/i2c/busses/i2c-taos-evm.o
  LD      drivers/i2c/busses/built-in.o
  CC      drivers/i2c/muxes/pca9541.o
  LD      drivers/i2c/muxes/built-in.o
  LD      drivers/i2c/built-in.o
  CC      drivers/input/input.o
  CC      drivers/input/input-compat.o
  CC      drivers/input/input-mt.o
  CC      drivers/input/ff-core.o
  LD      drivers/input/input-core.o
  CC      drivers/input/ff-memless.o
  CC      drivers/input/input-polldev.o
  CC      drivers/input/sparse-keymap.o
  CC      drivers/input/mousedev.o
  CC      drivers/input/joystick/a3d.o
  CC      drivers/input/joystick/gf2k.o
  CC      drivers/input/joystick/grip.o
  CC      drivers/input/joystick/grip_mp.o
  CC      drivers/input/joystick/iforce/iforce-ff.o
  CC      drivers/input/joystick/iforce/iforce-main.o
  CC      drivers/input/joystick/iforce/iforce-packets.o
  LD      drivers/input/joystick/iforce/iforce.o
  LD      drivers/input/joystick/iforce/built-in.o
  CC      drivers/input/joystick/joydump.o
  CC      drivers/input/joystick/magellan.o
  CC      drivers/input/joystick/spaceorb.o
  CC      drivers/input/joystick/twidjoy.o
  LD      drivers/input/joystick/built-in.o
  CC      drivers/input/misc/ad714x.o
  CC      drivers/input/misc/adxl34x.o
  CC      drivers/input/misc/cma3000_d0x.o
  CC      drivers/input/misc/pcspkr.o
  LD      drivers/input/misc/built-in.o
  CC      drivers/input/mouse/psmouse-base.o
  CC      drivers/input/mouse/synaptics.o
  CC      drivers/input/mouse/alps.o
  CC      drivers/input/mouse/sentelic.o
/home/test/linux-2.6/drivers/input/mouse/sentelic.c: In function 'fsp_init':
/home/test/linux-2.6/drivers/input/mouse/sentelic.c:815:16: warning: 'buttons' may be used uninitialized in this function
  CC      drivers/input/mouse/trackpoint.o
  CC      drivers/input/mouse/touchkit_ps2.o
  LD      drivers/input/mouse/psmouse.o
  CC      drivers/input/mouse/synaptics_i2c.o
  CC      drivers/input/mouse/vsxxxaa.o
  LD      drivers/input/mouse/built-in.o
  CC      drivers/input/touchscreen/ad7877.o
  CC      drivers/input/touchscreen/dynapro.o
  CC      drivers/input/touchscreen/eeti_ts.o
  CC      drivers/input/touchscreen/elo.o
  CC      drivers/input/touchscreen/mcs5000_ts.o
  CC      drivers/input/touchscreen/mtouch.o
  CC      drivers/input/touchscreen/mk712.o
  CC      drivers/input/touchscreen/penmount.o
  CC      drivers/input/touchscreen/qt602240_ts.o
  CC      drivers/input/touchscreen/touchwin.o
  CC      drivers/input/touchscreen/wacom_w8001.o
  CC      drivers/input/touchscreen/tps6507x-ts.o
  LD      drivers/input/touchscreen/built-in.o
  LD      drivers/input/built-in.o
  CC      drivers/input/gameport/gameport.o
  LD      drivers/input/gameport/built-in.o
  CC      drivers/input/serio/serio.o
  CC      drivers/input/serio/i8042.o
  CC      drivers/input/serio/serport.o
  CC      drivers/input/serio/ct82c710.o
  CC      drivers/input/serio/libps2.o
  LD      drivers/input/serio/built-in.o
  CC      drivers/leds/led-core.o
  LD      drivers/leds/built-in.o
  CC      drivers/mfd/sm501.o
  CC      drivers/mfd/stmpe.o
  CC      drivers/mfd/wm8400-core.o
  CC      drivers/mfd/max8925-core.o
  CC      drivers/mfd/max8925-i2c.o
  CC      drivers/mfd/wm831x-core.o
  CC      drivers/mfd/wm831x-irq.o
  CC      drivers/mfd/wm831x-otp.o
  CC      drivers/mfd/wm8350-core.o
  CC      drivers/mfd/wm8350-regmap.o
  CC      drivers/mfd/wm8350-gpio.o
  CC      drivers/mfd/wm8350-irq.o
  LD      drivers/mfd/wm831x.o
  CC      drivers/mfd/wm831x-i2c.o
  CC      drivers/mfd/wm831x-spi.o
  LD      drivers/mfd/wm8350.o
  CC      drivers/mfd/wm8350-i2c.o
  CC      drivers/mfd/wm8994-core.o
  CC      drivers/mfd/wm8994-irq.o
  CC      drivers/mfd/mc13xxx-core.o
/home/test/linux-2.6/drivers/mfd/mc13xxx-core.c: In function 'mc13xxx_probe':
/home/test/linux-2.6/drivers/mfd/mc13xxx-core.c:716:18: warning: 'id' may be used uninitialized in this function
  CC      drivers/mfd/mfd-core.o
  CC      drivers/mfd/da903x.o
/home/test/linux-2.6/drivers/mfd/da903x.c: In function 'da9034_init_chip':
/home/test/linux-2.6/drivers/mfd/da903x.c:312:10: warning: 'chip_id' may be used uninitialized in this function
/home/test/linux-2.6/drivers/mfd/da903x.c: In function 'da9030_init_chip':
/home/test/linux-2.6/drivers/mfd/da903x.c:251:10: warning: 'chip_id' may be used uninitialized in this function
/home/test/linux-2.6/drivers/mfd/da903x.c: In function 'da903x_set_bits':
/home/test/linux-2.6/drivers/mfd/da903x.c:176:10: warning: 'reg_val' may be used uninitialized in this function
/home/test/linux-2.6/drivers/mfd/da903x.c: In function 'da903x_clr_bits':
/home/test/linux-2.6/drivers/mfd/da903x.c:198:10: warning: 'reg_val' may be used uninitialized in this function
/home/test/linux-2.6/drivers/mfd/da903x.c: In function 'da903x_update':
/home/test/linux-2.6/drivers/mfd/da903x.c:220:10: warning: 'reg_val' may be used uninitialized in this function
  LD      drivers/mfd/max8925.o
  CC      drivers/mfd/abx500-core.o
  CC      drivers/mfd/ab3100-core.o
  CC      drivers/mfd/ab3100-otp.o
  LD      drivers/mfd/built-in.o
  CC      drivers/misc/enclosure.o
  CC      drivers/misc/apds9802als.o
  CC      drivers/misc/c2port/core.o
  CC      drivers/misc/c2port/c2port-duramar2150.o
  LD      drivers/misc/c2port/built-in.o
  CC      drivers/misc/eeprom/max6875.o
  CC      drivers/misc/eeprom/eeprom_93cx6.o
  LD      drivers/misc/eeprom/built-in.o
  CC      drivers/misc/hmc6352.o
  CC      drivers/misc/vmw_balloon.o
/home/test/linux-2.6/drivers/misc/vmw_balloon.c: In function 'vmballoon_work':
/home/test/linux-2.6/drivers/misc/vmw_balloon.c:654:15: warning: 'target' may be used uninitialized in this function
  LD      drivers/misc/built-in.o
  CC      drivers/mtd/mtdcore.o
  CC      drivers/mtd/mtdsuper.o
  LD      drivers/mtd/mtd.o
  CC      drivers/mtd/mtdchar.o
  CC      drivers/mtd/mtdoops.o
  CC      drivers/mtd/chips/chipreg.o
  CC      drivers/mtd/chips/cfi_probe.o
  CC      drivers/mtd/chips/cfi_util.o
  CC      drivers/mtd/chips/cfi_cmdset_0020.o
  CC      drivers/mtd/chips/cfi_cmdset_0002.o
  CC      drivers/mtd/chips/cfi_cmdset_0001.o
  CC      drivers/mtd/chips/gen_probe.o
  CC      drivers/mtd/chips/jedec_probe.o
  CC      drivers/mtd/chips/map_rom.o
  LD      drivers/mtd/chips/built-in.o
  CC      drivers/mtd/devices/doc2000.o
  CC      drivers/mtd/devices/doc2001plus.o
  CC      drivers/mtd/devices/docprobe.o
  CC      drivers/mtd/devices/docecc.o
  CC      drivers/mtd/devices/slram.o
  CC      drivers/mtd/devices/phram.o
/home/test/linux-2.6/drivers/mtd/devices/phram.c: In function 'phram_setup':
/home/test/linux-2.6/drivers/mtd/devices/phram.c:239:8: warning: 'name' may be used uninitialized in this function
  CC      drivers/mtd/devices/m25p80.o
  CC      drivers/mtd/devices/sst25l.o
  LD      drivers/mtd/devices/built-in.o
  CC      drivers/mtd/lpddr/qinfo_probe.o
  CC      drivers/mtd/lpddr/lpddr_cmds.o
  LD      drivers/mtd/lpddr/built-in.o
  CC      drivers/mtd/maps/map_funcs.o
/home/test/linux-2.6/drivers/mtd/maps/map_funcs.c: In function 'simple_map_read':
/home/test/linux-2.6/include/linux/mtd/map.h:393:11: warning: 'r$x$0' may be used uninitialized in this function
/home/test/linux-2.6/include/linux/mtd/map.h:393:11: note: 'r$x$0' was declared here
  CC      drivers/mtd/maps/l440gx.o
  CC      drivers/mtd/maps/amd76xrom.o
  CC      drivers/mtd/maps/ichxrom.o
  CC      drivers/mtd/maps/physmap.o
  LD      drivers/mtd/maps/built-in.o
  CC      drivers/mtd/nand/nand_base.o
  CC      drivers/mtd/nand/nand_bbt.o
  LD      drivers/mtd/nand/nand.o
  CC      drivers/mtd/nand/nand_ecc.o
  CC      drivers/mtd/nand/nand_ids.o
  CC      drivers/mtd/nand/diskonchip.o
  CC      drivers/mtd/nand/plat_nand.o
  LD      drivers/mtd/nand/built-in.o
  LD      drivers/mtd/built-in.o
  LD      drivers/net/built-in.o
  CC      drivers/serial/serial_core.o
  CC      drivers/serial/8250.o
  CC      drivers/serial/max3100.o
  CC      drivers/serial/timbuart.o
  CC      drivers/serial/altera_jtaguart.o
  LD      drivers/serial/built-in.o
  CC      drivers/spi/spi.o
  CC      drivers/spi/spi_bitbang.o
  CC      drivers/spi/spidev.o
  LD      drivers/spi/built-in.o
  CC      drivers/staging/staging.o
  LD      drivers/staging/built-in.o
  CC      drivers/thermal/thermal_sys.o
  LD      drivers/thermal/built-in.o
  CC      drivers/tty/tty_io.o
  CC      drivers/tty/n_tty.o
  CC      drivers/tty/tty_ioctl.o
  CC      drivers/tty/tty_ldisc.o
  CC      drivers/tty/tty_buffer.o
  CC      drivers/tty/tty_port.o
  CC      drivers/tty/tty_mutex.o
  CC      drivers/tty/vt/vt_ioctl.o
/home/test/linux-2.6/drivers/tty/vt/vt_ioctl.c: In function 'vt_ioctl':
/home/test/linux-2.6/drivers/tty/vt/vt_ioctl.c:1122:13: warning: 'cc' may be used uninitialized in this function
  CC      drivers/tty/vt/vc_screen.o
  CC      drivers/tty/vt/selection.o
  CC      drivers/tty/vt/keyboard.o
  CC      drivers/tty/vt/consolemap.o
/home/test/linux-2.6/drivers/tty/vt/consolemap.c: In function 'conv_uni_to_pc':
/home/test/linux-2.6/drivers/tty/vt/consolemap.c:699:6: warning: 'h' may be used uninitialized in this function
  CC      drivers/tty/vt/consolemap_deftbl.o
  CC      drivers/tty/vt/vt.o
  CC      drivers/tty/vt/defkeymap.o
  LD      drivers/tty/vt/built-in.o
  LD      drivers/tty/built-in.o
  CC      drivers/vbus/bus-proxy.o
  LD      drivers/vbus/vbus-proxy.o
  LD      drivers/vbus/built-in.o
  CC      drivers/video/fb_notify.o
  CC      drivers/video/backlight/lcd.o
  CC      drivers/video/backlight/ili9320.o
  CC      drivers/video/backlight/vgg2432a4.o
  CC      drivers/video/backlight/s6e63m0.o
  CC      drivers/video/backlight/backlight.o
  CC      drivers/video/backlight/da903x_bl.o
  LD      drivers/video/backlight/built-in.o
  CC      drivers/video/console/dummycon.o
  CC      drivers/video/console/vgacon.o
  LD      drivers/video/console/built-in.o
  CC      drivers/video/display/display-sysfs.o
  LD      drivers/video/display/display.o
  LD      drivers/video/display/built-in.o
  LD      drivers/video/built-in.o
  CC      drivers/xen/grant-table.o
/home/test/linux-2.6/drivers/xen/grant-table.c: In function 'get_free_entries':
/home/test/linux-2.6/drivers/xen/grant-table.c:85:11: warning: 'rc' may be used uninitialized in this function
  CC      drivers/xen/features.o
  CC      drivers/xen/events.o
/home/test/linux-2.6/drivers/xen/events.c: In function 'find_unbound_irq':
/home/test/linux-2.6/drivers/xen/events.c:441:4: warning: format '%ld' expects type 'long int', but argument 2 has type 'int'
/home/test/linux-2.6/drivers/xen/events.c: At top level:
/home/test/linux-2.6/drivers/xen/events.c:387:12: warning: 'find_unbound_pirq' defined but not used
  CC      drivers/xen/manage.o
  CC      drivers/xen/xenbus/xenbus_client.o
  CC      drivers/xen/xenbus/xenbus_comms.o
  CC      drivers/xen/xenbus/xenbus_xs.o
  CC      drivers/xen/xenbus/xenbus_probe.o
  LD      drivers/xen/xenbus/xenbus.o
  LD      drivers/xen/xenbus/built-in.o
  CC      drivers/xen/xenfs/super.o
  CC      drivers/xen/xenfs/xenbus.o
  CC      drivers/xen/xenfs/privcmd.o
  LD      drivers/xen/xenfs/xenfs.o
  LD      drivers/xen/xenfs/built-in.o
  CC      drivers/xen/tmem.o
/home/test/linux-2.6/drivers/xen/tmem.c: In function 'xen_tmem_init':
/home/test/linux-2.6/drivers/xen/tmem.c:246:24: warning: unused variable 'old_ops'
/home/test/linux-2.6/drivers/xen/tmem.c: At top level:
/home/test/linux-2.6/drivers/xen/tmem.c:234:30: warning: 'tmem_cleancache_ops' defined but not used
  CC      drivers/xen/cpu_hotplug.o
  CC      drivers/xen/platform-pci.o
  LD      drivers/xen/built-in.o
  LD      drivers/built-in.o
  CC      arch/x86/power/cpu.o
  LD      arch/x86/power/built-in.o
  CC      net/nonet.o
  LD      net/built-in.o
  CC      lib/bcd.o
  CC      lib/div64.o
  CC      lib/sort.o
  CC      lib/parser.o
  CC      lib/halfmd4.o
  CC      lib/debug_locks.o
  CC      lib/random32.o
  CC      lib/bust_spinlocks.o
  CC      lib/hexdump.o
  CC      lib/kasprintf.o
  CC      lib/bitmap.o
  CC      lib/scatterlist.o
  CC      lib/string_helpers.o
  CC      lib/gcd.o
  CC      lib/lcm.o
  CC      lib/list_sort.o
  CC      lib/uuid.o
  CC      lib/iomap.o
  CC      lib/iomap_copy.o
  CC      lib/devres.o
  CC      lib/find_last_bit.o
  CC      lib/hweight.o
  CC      lib/bitrev.o
  CC      lib/crc16.o
  CC      lib/crc-t10dif.o
  CC      lib/crc-itu-t.o
  CC      lib/crc32.o
  CC      lib/crc7.o
  CC      lib/reed_solomon/reed_solomon.o
  LD      lib/reed_solomon/built-in.o
  CC      lib/percpu_counter.o
  CC      lib/shm_signal.o
  CC      lib/ioq.o
  CC      lib/swiotlb.o
  CC      lib/iommu-helper.o
  CC      lib/syscall.o
  LD      lib/built-in.o
  CC      lib/argv_split.o
  CC      lib/cmdline.o
  CC      lib/cpumask.o
  CC      lib/ctype.o
  CC      lib/dec_and_lock.o
  CC      lib/decompress.o
  CC      lib/dump_stack.o
  CC      lib/extable.o
  CC      lib/find_next_bit.o
  CC      lib/flex_array.o
  CC      lib/idr.o
  CC      lib/int_sqrt.o
  CC      lib/ioremap.o
  CC      lib/irq_regs.o
  CC      lib/is_single_threaded.o
  CC      lib/klist.o
  CC      lib/kobject.o
  CC      lib/kobject_uevent.o
  CC      lib/kref.o
  CC      lib/plist.o
  CC      lib/prio_heap.o
  CC      lib/prio_tree.o
  CC      lib/proportions.o
  CC      lib/radix-tree.o
  CC      lib/ratelimit.o
  CC      lib/rbtree.o
  CC      lib/reciprocal_div.o
  CC      lib/rwsem.o
  CC      lib/sha1.o
  CC      lib/show_mem.o
  CC      lib/string.o
  CC      lib/timerlist.o
  CC      lib/vsprintf.o
  AR      lib/lib.a
  CC      arch/x86/lib/msr-smp.o
  CC      arch/x86/lib/cache-smp.o
  CC      arch/x86/lib/msr.o
  AS      arch/x86/lib/msr-reg.o
  CC      arch/x86/lib/msr-reg-export.o
  AS      arch/x86/lib/iomap_copy_64.o
  LD      arch/x86/lib/built-in.o
  AS      arch/x86/lib/clear_page_64.o
  AS      arch/x86/lib/copy_page_64.o
  AS      arch/x86/lib/copy_user_64.o
  AS      arch/x86/lib/copy_user_nocache_64.o
  AS      arch/x86/lib/csum-copy_64.o
  CC      arch/x86/lib/csum-partial_64.o
  CC      arch/x86/lib/csum-wrappers_64.o
  CC      arch/x86/lib/delay.o
  AS      arch/x86/lib/getuser.o
  CC      arch/x86/lib/inat.o
  CC      arch/x86/lib/insn.o
  AS      arch/x86/lib/memcpy_64.o
  CC      arch/x86/lib/memmove_64.o
  AS      arch/x86/lib/memset_64.o
  AS      arch/x86/lib/putuser.o
  AS      arch/x86/lib/rwlock_64.o
  AS      arch/x86/lib/rwsem_64.o
  AS      arch/x86/lib/thunk_64.o
  CC      arch/x86/lib/usercopy_64.o
  AR      arch/x86/lib/lib.a
  LD      vmlinux.o
  MODPOST vmlinux.o
WARNING: modpost: Found 14 section mismatch(es).
To see full details build your kernel with:
'make CONFIG_DEBUG_SECTION_MISMATCH=y'
  GEN     .version
  CHK     include/generated/compile.h
  UPD     include/generated/compile.h
  CC      init/version.o
  LD      init/built-in.o
  LD      .tmp_vmlinux1
arch/x86/built-in.o: In function `kvm_smp_prepare_boot_cpu':
kvm.c:(.init.text+0xf446): undefined reference to `kvm_register_clock'
drivers/built-in.o: In function `generate_netlink_event':
(.text+0x1087ee): undefined reference to `__alloc_skb'
drivers/built-in.o: In function `generate_netlink_event':
(.text+0x108897): undefined reference to `skb_put'
drivers/built-in.o: In function `generate_netlink_event':
(.text+0x108930): undefined reference to `kfree_skb'
drivers/built-in.o: In function `generate_netlink_event':
(.text+0x108947): undefined reference to `nla_reserve'
drivers/built-in.o: In function `generate_netlink_event':
(.text+0x108990): undefined reference to `kfree_skb'
drivers/built-in.o: In function `generate_netlink_event':
(.text+0x1089e9): undefined reference to `kfree_skb'
drivers/built-in.o: In function `generate_netlink_event':
(.text+0x1089f8): undefined reference to `init_net'
drivers/built-in.o: In function `generate_netlink_event':
(.text+0x108a0b): undefined reference to `netlink_broadcast'
drivers/built-in.o: In function `thermal_init':
thermal_sys.c:(.init.text+0xbd00): undefined reference to `genl_register_family'
thermal_sys.c:(.init.text+0xbd2f): undefined reference to `genl_register_mc_group'
thermal_sys.c:(.init.text+0xbd57): undefined reference to `genl_unregister_family'
drivers/built-in.o: In function `thermal_exit':
thermal_sys.c:(.exit.text+0x154c): undefined reference to `genl_unregister_family'
make[1]: *** [.tmp_vmlinux1] Error 1
make: *** [sub-make] Error 2

[-- Attachment #3: 10-12-13-17-00-09-config --]
[-- Type: application/octet-stream, Size: 28775 bytes --]

#
# Automatically generated make config: don't edit
# Linux/x86_64 2.6.37-rc5 Kernel Configuration
# Mon Dec 13 18:00:12 2010
#
CONFIG_64BIT=y
# CONFIG_X86_32 is not set
CONFIG_X86_64=y
CONFIG_X86=y
CONFIG_INSTRUCTION_DECODER=y
CONFIG_OUTPUT_FORMAT="elf64-x86-64"
CONFIG_ARCH_DEFCONFIG="arch/x86/configs/x86_64_defconfig"
CONFIG_GENERIC_CMOS_UPDATE=y
CONFIG_CLOCKSOURCE_WATCHDOG=y
CONFIG_GENERIC_CLOCKEVENTS=y
CONFIG_GENERIC_CLOCKEVENTS_BROADCAST=y
CONFIG_LOCKDEP_SUPPORT=y
CONFIG_STACKTRACE_SUPPORT=y
CONFIG_HAVE_LATENCYTOP_SUPPORT=y
CONFIG_MMU=y
CONFIG_ZONE_DMA=y
CONFIG_NEED_DMA_MAP_STATE=y
CONFIG_NEED_SG_DMA_LENGTH=y
CONFIG_GENERIC_ISA_DMA=y
CONFIG_GENERIC_IOMAP=y
CONFIG_GENERIC_HWEIGHT=y
CONFIG_ARCH_MAY_HAVE_PC_FDC=y
# CONFIG_RWSEM_GENERIC_SPINLOCK is not set
CONFIG_RWSEM_XCHGADD_ALGORITHM=y
CONFIG_ARCH_HAS_CPU_IDLE_WAIT=y
CONFIG_GENERIC_CALIBRATE_DELAY=y
CONFIG_GENERIC_TIME_VSYSCALL=y
CONFIG_ARCH_HAS_CPU_RELAX=y
CONFIG_ARCH_HAS_DEFAULT_IDLE=y
CONFIG_ARCH_HAS_CACHE_LINE_SIZE=y
CONFIG_HAVE_SETUP_PER_CPU_AREA=y
CONFIG_NEED_PER_CPU_EMBED_FIRST_CHUNK=y
CONFIG_NEED_PER_CPU_PAGE_FIRST_CHUNK=y
CONFIG_HAVE_CPUMASK_OF_CPU_MAP=y
CONFIG_ARCH_HIBERNATION_POSSIBLE=y
CONFIG_ARCH_SUSPEND_POSSIBLE=y
CONFIG_ZONE_DMA32=y
CONFIG_ARCH_POPULATES_NODE_MAP=y
CONFIG_AUDIT_ARCH=y
CONFIG_ARCH_SUPPORTS_OPTIMIZED_INLINING=y
CONFIG_ARCH_SUPPORTS_DEBUG_PAGEALLOC=y
CONFIG_USE_GENERIC_SMP_HELPERS=y
CONFIG_X86_64_SMP=y
CONFIG_X86_HT=y
CONFIG_X86_TRAMPOLINE=y
CONFIG_ARCH_HWEIGHT_CFLAGS="-fcall-saved-rdi -fcall-saved-rsi -fcall-saved-rdx -fcall-saved-rcx -fcall-saved-r8 -fcall-saved-r9 -fcall-saved-r10 -fcall-saved-r11"
# CONFIG_KTIME_SCALAR is not set
CONFIG_ARCH_CPU_PROBE_RELEASE=y
CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config"
CONFIG_CONSTRUCTORS=y
CONFIG_HAVE_IRQ_WORK=y
CONFIG_IRQ_WORK=y

#
# General setup
#
CONFIG_EXPERIMENTAL=y
CONFIG_INIT_ENV_ARG_LIMIT=32
CONFIG_CROSS_COMPILE=""
CONFIG_LOCALVERSION=""
CONFIG_LOCALVERSION_AUTO=y
CONFIG_HAVE_KERNEL_GZIP=y
CONFIG_HAVE_KERNEL_BZIP2=y
CONFIG_HAVE_KERNEL_LZMA=y
CONFIG_HAVE_KERNEL_LZO=y
# CONFIG_KERNEL_GZIP is not set
CONFIG_KERNEL_BZIP2=y
# CONFIG_KERNEL_LZMA is not set
# CONFIG_KERNEL_LZO is not set
CONFIG_SYSVIPC=y
# CONFIG_BSD_PROCESS_ACCT is not set
CONFIG_HAVE_GENERIC_HARDIRQS=y

#
# IRQ subsystem
#
CONFIG_GENERIC_HARDIRQS=y
CONFIG_GENERIC_HARDIRQS_NO__DO_IRQ=y
# CONFIG_GENERIC_HARDIRQS_NO_DEPRECATED is not set
CONFIG_HAVE_SPARSE_IRQ=y
CONFIG_GENERIC_IRQ_PROBE=y
CONFIG_GENERIC_PENDING_IRQ=y
# CONFIG_AUTO_IRQ_AFFINITY is not set
# CONFIG_IRQ_PER_CPU is not set
# CONFIG_HARDIRQS_SW_RESEND is not set
CONFIG_SPARSE_IRQ=y

#
# RCU Subsystem
#
CONFIG_TREE_RCU=y
# CONFIG_PREEMPT_RCU is not set
CONFIG_RCU_TRACE=y
CONFIG_RCU_FANOUT=64
# CONFIG_RCU_FANOUT_EXACT is not set
# CONFIG_RCU_FAST_NO_HZ is not set
CONFIG_TREE_RCU_TRACE=y
CONFIG_SRCU_SYNCHRONIZE_DELAY=10
# CONFIG_IKCONFIG is not set
CONFIG_LOG_BUF_SHIFT=17
CONFIG_HAVE_UNSTABLE_SCHED_CLOCK=y
# CONFIG_NAMESPACES is not set
# CONFIG_SCHED_AUTOGROUP is not set
CONFIG_RELAY=y
# CONFIG_BLK_DEV_INITRD is not set
CONFIG_CC_OPTIMIZE_FOR_SIZE=y
CONFIG_ANON_INODES=y
CONFIG_EMBEDDED=y
CONFIG_KALLSYMS=y
CONFIG_KALLSYMS_EXTRA_PASS=y
CONFIG_HOTPLUG=y
CONFIG_PRINTK=y
# CONFIG_BUG is not set
# CONFIG_ELF_CORE is not set
CONFIG_PCSPKR_PLATFORM=y
# CONFIG_BASE_FULL is not set
CONFIG_FUTEX=y
# CONFIG_EPOLL is not set
# CONFIG_SIGNALFD is not set
CONFIG_TIMERFD=y
# CONFIG_EVENTFD is not set
# CONFIG_SHMEM is not set
CONFIG_AIO=y
CONFIG_HAVE_PERF_EVENTS=y

#
# Kernel Performance Events And Counters
#
CONFIG_PERF_EVENTS=y
# CONFIG_PERF_COUNTERS is not set
CONFIG_VM_EVENT_COUNTERS=y
# CONFIG_COMPAT_BRK is not set
# CONFIG_SLAB is not set
CONFIG_SLUB=y
# CONFIG_SLOB is not set
CONFIG_PROFILING=y
CONFIG_TRACEPOINTS=y
# CONFIG_OPROFILE is not set
CONFIG_HAVE_OPROFILE=y
CONFIG_JUMP_LABEL=y
CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS=y
CONFIG_HAVE_IOREMAP_PROT=y
CONFIG_HAVE_KPROBES=y
CONFIG_HAVE_KRETPROBES=y
CONFIG_HAVE_OPTPROBES=y
CONFIG_HAVE_ARCH_TRACEHOOK=y
CONFIG_HAVE_DMA_ATTRS=y
CONFIG_HAVE_REGS_AND_STACK_ACCESS_API=y
CONFIG_HAVE_DMA_API_DEBUG=y
CONFIG_HAVE_HW_BREAKPOINT=y
CONFIG_HAVE_MIXED_BREAKPOINTS_REGS=y
CONFIG_HAVE_USER_RETURN_NOTIFIER=y
CONFIG_HAVE_PERF_EVENTS_NMI=y
CONFIG_HAVE_ARCH_JUMP_LABEL=y

#
# GCOV-based kernel profiling
#
CONFIG_GCOV_KERNEL=y
# CONFIG_GCOV_PROFILE_ALL is not set
# CONFIG_HAVE_GENERIC_DMA_COHERENT is not set
CONFIG_RT_MUTEXES=y
CONFIG_BASE_SMALL=1
# CONFIG_MODULES is not set
CONFIG_STOP_MACHINE=y
# CONFIG_BLOCK is not set
# CONFIG_INLINE_SPIN_TRYLOCK is not set
# CONFIG_INLINE_SPIN_TRYLOCK_BH is not set
# CONFIG_INLINE_SPIN_LOCK is not set
# CONFIG_INLINE_SPIN_LOCK_BH is not set
# CONFIG_INLINE_SPIN_LOCK_IRQ is not set
# CONFIG_INLINE_SPIN_LOCK_IRQSAVE is not set
CONFIG_INLINE_SPIN_UNLOCK=y
# CONFIG_INLINE_SPIN_UNLOCK_BH is not set
CONFIG_INLINE_SPIN_UNLOCK_IRQ=y
# CONFIG_INLINE_SPIN_UNLOCK_IRQRESTORE is not set
# CONFIG_INLINE_READ_TRYLOCK is not set
# CONFIG_INLINE_READ_LOCK is not set
# CONFIG_INLINE_READ_LOCK_BH is not set
# CONFIG_INLINE_READ_LOCK_IRQ is not set
# CONFIG_INLINE_READ_LOCK_IRQSAVE is not set
CONFIG_INLINE_READ_UNLOCK=y
# CONFIG_INLINE_READ_UNLOCK_BH is not set
CONFIG_INLINE_READ_UNLOCK_IRQ=y
# CONFIG_INLINE_READ_UNLOCK_IRQRESTORE is not set
# CONFIG_INLINE_WRITE_TRYLOCK is not set
# CONFIG_INLINE_WRITE_LOCK is not set
# CONFIG_INLINE_WRITE_LOCK_BH is not set
# CONFIG_INLINE_WRITE_LOCK_IRQ is not set
# CONFIG_INLINE_WRITE_LOCK_IRQSAVE is not set
CONFIG_INLINE_WRITE_UNLOCK=y
# CONFIG_INLINE_WRITE_UNLOCK_BH is not set
CONFIG_INLINE_WRITE_UNLOCK_IRQ=y
# CONFIG_INLINE_WRITE_UNLOCK_IRQRESTORE is not set
CONFIG_MUTEX_SPIN_ON_OWNER=y
CONFIG_FREEZER=y

#
# Processor type and features
#
CONFIG_TICK_ONESHOT=y
CONFIG_NO_HZ=y
CONFIG_HIGH_RES_TIMERS=y
CONFIG_GENERIC_CLOCKEVENTS_BUILD=y
CONFIG_SMP=y
CONFIG_X86_MPPARSE=y
CONFIG_X86_EXTENDED_PLATFORM=y
CONFIG_X86_SUPPORTS_MEMORY_FAILURE=y
CONFIG_SCHED_OMIT_FRAME_POINTER=y
CONFIG_PARAVIRT_GUEST=y
CONFIG_XEN=y
# CONFIG_XEN_PRIVILEGED_GUEST is not set
CONFIG_XEN_PVHVM=y
CONFIG_XEN_MAX_DOMAIN_MEMORY=128
CONFIG_XEN_SAVE_RESTORE=y
# CONFIG_XEN_DEBUG_FS is not set
# CONFIG_KVM_CLOCK is not set
CONFIG_KVM_GUEST=y
CONFIG_PARAVIRT=y
# CONFIG_PARAVIRT_SPINLOCKS is not set
CONFIG_PARAVIRT_CLOCK=y
CONFIG_NO_BOOTMEM=y
# CONFIG_MEMTEST is not set
# CONFIG_MK8 is not set
# CONFIG_MPSC is not set
# CONFIG_MCORE2 is not set
# CONFIG_MATOM is not set
CONFIG_GENERIC_CPU=y
CONFIG_X86_CPU=y
CONFIG_X86_INTERNODE_CACHE_SHIFT=6
CONFIG_X86_CMPXCHG=y
CONFIG_X86_L1_CACHE_SHIFT=6
CONFIG_X86_XADD=y
CONFIG_X86_WP_WORKS_OK=y
CONFIG_X86_TSC=y
CONFIG_X86_CMPXCHG64=y
CONFIG_X86_CMOV=y
CONFIG_X86_MINIMUM_CPU_FAMILY=64
CONFIG_X86_DEBUGCTLMSR=y
CONFIG_PROCESSOR_SELECT=y
CONFIG_CPU_SUP_INTEL=y
# CONFIG_CPU_SUP_AMD is not set
CONFIG_CPU_SUP_CENTAUR=y
CONFIG_HPET_TIMER=y
CONFIG_DMI=y
CONFIG_SWIOTLB=y
CONFIG_IOMMU_HELPER=y
# CONFIG_IOMMU_API is not set
CONFIG_NR_CPUS=8
CONFIG_SCHED_SMT=y
CONFIG_SCHED_MC=y
# CONFIG_IRQ_TIME_ACCOUNTING is not set
CONFIG_PREEMPT_NONE=y
# CONFIG_PREEMPT_VOLUNTARY is not set
# CONFIG_PREEMPT is not set
CONFIG_X86_LOCAL_APIC=y
CONFIG_X86_IO_APIC=y
CONFIG_X86_REROUTE_FOR_BROKEN_BOOT_IRQS=y
CONFIG_X86_MCE=y
CONFIG_X86_MCE_INTEL=y
CONFIG_X86_MCE_AMD=y
CONFIG_X86_MCE_THRESHOLD=y
# CONFIG_X86_MCE_INJECT is not set
CONFIG_X86_THERMAL_VECTOR=y
CONFIG_I8K=y
# CONFIG_MICROCODE is not set
# CONFIG_X86_MSR is not set
# CONFIG_X86_CPUID is not set
CONFIG_ARCH_PHYS_ADDR_T_64BIT=y
CONFIG_ARCH_DMA_ADDR_T_64BIT=y
# CONFIG_DIRECT_GBPAGES is not set
# CONFIG_NUMA is not set
CONFIG_ARCH_SPARSEMEM_DEFAULT=y
CONFIG_ARCH_SPARSEMEM_ENABLE=y
CONFIG_ARCH_SELECT_MEMORY_MODEL=y
CONFIG_ARCH_MEMORY_PROBE=y
CONFIG_ILLEGAL_POINTER_VALUE=0xdead000000000000
CONFIG_SELECT_MEMORY_MODEL=y
CONFIG_SPARSEMEM_MANUAL=y
CONFIG_SPARSEMEM=y
CONFIG_HAVE_MEMORY_PRESENT=y
CONFIG_SPARSEMEM_EXTREME=y
CONFIG_SPARSEMEM_VMEMMAP_ENABLE=y
CONFIG_SPARSEMEM_ALLOC_MEM_MAP_TOGETHER=y
# CONFIG_SPARSEMEM_VMEMMAP is not set
CONFIG_HAVE_MEMBLOCK=y
CONFIG_MEMORY_HOTPLUG=y
CONFIG_MEMORY_HOTPLUG_SPARSE=y
CONFIG_PAGEFLAGS_EXTENDED=y
CONFIG_SPLIT_PTLOCK_CPUS=4
# CONFIG_MIGRATION is not set
CONFIG_PHYS_ADDR_T_64BIT=y
CONFIG_ZONE_DMA_FLAG=1
CONFIG_VIRT_TO_BUS=y
CONFIG_KSM=y
CONFIG_DEFAULT_MMAP_MIN_ADDR=4096
CONFIG_ARCH_SUPPORTS_MEMORY_FAILURE=y
# CONFIG_MEMORY_FAILURE is not set
# CONFIG_CLEANCACHE is not set
CONFIG_X86_CHECK_BIOS_CORRUPTION=y
# CONFIG_X86_BOOTPARAM_MEMORY_CORRUPTION_CHECK is not set
CONFIG_X86_RESERVE_LOW=64
CONFIG_MTRR=y
# CONFIG_MTRR_SANITIZER is not set
CONFIG_X86_PAT=y
CONFIG_ARCH_USES_PG_UNCACHED=y
CONFIG_SECCOMP=y
# CONFIG_CC_STACKPROTECTOR is not set
# CONFIG_HZ_100 is not set
# CONFIG_HZ_250 is not set
CONFIG_HZ_300=y
# CONFIG_HZ_1000 is not set
CONFIG_HZ=300
CONFIG_SCHED_HRTICK=y
# CONFIG_KEXEC is not set
# CONFIG_CRASH_DUMP is not set
CONFIG_PHYSICAL_START=0x1000000
# CONFIG_RELOCATABLE is not set
CONFIG_PHYSICAL_ALIGN=0x1000000
CONFIG_HOTPLUG_CPU=y
# CONFIG_CMDLINE_BOOL is not set
CONFIG_ARCH_ENABLE_MEMORY_HOTPLUG=y
CONFIG_ARCH_ENABLE_MEMORY_HOTREMOVE=y

#
# Power management and ACPI options
#
CONFIG_PM=y
# CONFIG_PM_DEBUG is not set
CONFIG_PM_SLEEP_SMP=y
CONFIG_PM_SLEEP=y
CONFIG_SUSPEND_NVS=y
CONFIG_SUSPEND=y
CONFIG_SUSPEND_FREEZER=y
# CONFIG_PM_RUNTIME is not set
CONFIG_PM_OPS=y
# CONFIG_SFI is not set

#
# CPU Frequency scaling
#
CONFIG_CPU_FREQ=y
CONFIG_CPU_FREQ_TABLE=y
# CONFIG_CPU_FREQ_DEBUG is not set
# CONFIG_CPU_FREQ_STAT is not set
# CONFIG_CPU_FREQ_DEFAULT_GOV_PERFORMANCE is not set
CONFIG_CPU_FREQ_DEFAULT_GOV_POWERSAVE=y
# CONFIG_CPU_FREQ_DEFAULT_GOV_USERSPACE is not set
# CONFIG_CPU_FREQ_DEFAULT_GOV_ONDEMAND is not set
# CONFIG_CPU_FREQ_DEFAULT_GOV_CONSERVATIVE is not set
# CONFIG_CPU_FREQ_GOV_PERFORMANCE is not set
CONFIG_CPU_FREQ_GOV_POWERSAVE=y
CONFIG_CPU_FREQ_GOV_USERSPACE=y
# CONFIG_CPU_FREQ_GOV_ONDEMAND is not set
CONFIG_CPU_FREQ_GOV_CONSERVATIVE=y

#
# CPUFreq processor drivers
#
CONFIG_X86_P4_CLOCKMOD=y

#
# shared options
#
CONFIG_X86_SPEEDSTEP_LIB=y
CONFIG_CPU_IDLE=y
CONFIG_CPU_IDLE_GOV_LADDER=y
CONFIG_CPU_IDLE_GOV_MENU=y
# CONFIG_INTEL_IDLE is not set

#
# Memory power savings
#
# CONFIG_I7300_IDLE is not set

#
# Bus options (PCI etc.)
#
# CONFIG_PCI is not set
# CONFIG_ARCH_SUPPORTS_MSI is not set
CONFIG_ISA_DMA_API=y
# CONFIG_PCCARD is not set
CONFIG_VBUS_PROXY=y

#
# Executable file formats / Emulations
#
CONFIG_BINFMT_ELF=y
# CONFIG_HAVE_AOUT is not set
CONFIG_BINFMT_MISC=y
# CONFIG_IA32_EMULATION is not set
# CONFIG_COMPAT_FOR_U64_ALIGNMENT is not set
CONFIG_HAVE_TEXT_POKE_SMP=y
# CONFIG_NET is not set

#
# Device Drivers
#

#
# Generic Driver Options
#
CONFIG_UEVENT_HELPER_PATH=""
CONFIG_DEVTMPFS=y
CONFIG_DEVTMPFS_MOUNT=y
# CONFIG_STANDALONE is not set
CONFIG_PREVENT_FIRMWARE_BUILD=y
CONFIG_FW_LOADER=y
# CONFIG_FIRMWARE_IN_KERNEL is not set
CONFIG_EXTRA_FIRMWARE=""
# CONFIG_SYS_HYPERVISOR is not set
CONFIG_MTD=y
# CONFIG_MTD_DEBUG is not set
# CONFIG_MTD_CONCAT is not set
# CONFIG_MTD_PARTITIONS is not set

#
# User Modules And Translation Layers
#
CONFIG_MTD_CHAR=y
CONFIG_MTD_OOPS=y

#
# RAM/ROM/Flash chip drivers
#
CONFIG_MTD_CFI=y
CONFIG_MTD_JEDECPROBE=y
CONFIG_MTD_GEN_PROBE=y
# CONFIG_MTD_CFI_ADV_OPTIONS is not set
CONFIG_MTD_MAP_BANK_WIDTH_1=y
CONFIG_MTD_MAP_BANK_WIDTH_2=y
CONFIG_MTD_MAP_BANK_WIDTH_4=y
# CONFIG_MTD_MAP_BANK_WIDTH_8 is not set
# CONFIG_MTD_MAP_BANK_WIDTH_16 is not set
# CONFIG_MTD_MAP_BANK_WIDTH_32 is not set
CONFIG_MTD_CFI_I1=y
CONFIG_MTD_CFI_I2=y
# CONFIG_MTD_CFI_I4 is not set
# CONFIG_MTD_CFI_I8 is not set
CONFIG_MTD_CFI_INTELEXT=y
CONFIG_MTD_CFI_AMDSTD=y
CONFIG_MTD_CFI_STAA=y
CONFIG_MTD_CFI_UTIL=y
# CONFIG_MTD_RAM is not set
CONFIG_MTD_ROM=y
# CONFIG_MTD_ABSENT is not set

#
# Mapping drivers for chip access
#
CONFIG_MTD_COMPLEX_MAPPINGS=y
CONFIG_MTD_PHYSMAP=y
CONFIG_MTD_PHYSMAP_COMPAT=y
CONFIG_MTD_PHYSMAP_START=0x8000000
CONFIG_MTD_PHYSMAP_LEN=0
CONFIG_MTD_PHYSMAP_BANKWIDTH=2
# CONFIG_MTD_TS5500 is not set
CONFIG_MTD_AMD76XROM=y
CONFIG_MTD_ICHXROM=y
# CONFIG_MTD_SCB2_FLASH is not set
CONFIG_MTD_L440GX=y
# CONFIG_MTD_PLATRAM is not set

#
# Self-contained MTD device drivers
#
# CONFIG_MTD_DATAFLASH is not set
CONFIG_MTD_M25P80=y
# CONFIG_M25PXX_USE_FAST_READ is not set
CONFIG_MTD_SST25L=y
CONFIG_MTD_SLRAM=y
CONFIG_MTD_PHRAM=y
# CONFIG_MTD_MTDRAM is not set

#
# Disk-On-Chip Device Drivers
#
CONFIG_MTD_DOC2000=y
# CONFIG_MTD_DOC2001 is not set
CONFIG_MTD_DOC2001PLUS=y
CONFIG_MTD_DOCPROBE=y
CONFIG_MTD_DOCECC=y
CONFIG_MTD_DOCPROBE_ADVANCED=y
CONFIG_MTD_DOCPROBE_ADDRESS=0x0000
# CONFIG_MTD_DOCPROBE_HIGH is not set
CONFIG_MTD_DOCPROBE_55AA=y
CONFIG_MTD_NAND_ECC=y
# CONFIG_MTD_NAND_ECC_SMC is not set
CONFIG_MTD_NAND=y
# CONFIG_MTD_NAND_VERIFY_WRITE is not set
# CONFIG_MTD_SM_COMMON is not set
# CONFIG_MTD_NAND_MUSEUM_IDS is not set
CONFIG_MTD_NAND_IDS=y
CONFIG_MTD_NAND_DISKONCHIP=y
CONFIG_MTD_NAND_DISKONCHIP_PROBE_ADVANCED=y
CONFIG_MTD_NAND_DISKONCHIP_PROBE_ADDRESS=0
CONFIG_MTD_NAND_DISKONCHIP_PROBE_HIGH=y
# CONFIG_MTD_NAND_DISKONCHIP_BBTWRITE is not set
CONFIG_MTD_NAND_PLATFORM=y
# CONFIG_MTD_ONENAND is not set

#
# LPDDR flash memory drivers
#
CONFIG_MTD_LPDDR=y
CONFIG_MTD_QINFO_PROBE=y
# CONFIG_MTD_UBI is not set
# CONFIG_PARPORT is not set
CONFIG_MISC_DEVICES=y
# CONFIG_ICS932S401 is not set
CONFIG_ENCLOSURE_SERVICES=y
CONFIG_APDS9802ALS=y
# CONFIG_ISL29020 is not set
# CONFIG_SENSORS_BH1770 is not set
# CONFIG_SENSORS_APDS990X is not set
CONFIG_HMC6352=y
# CONFIG_DS1682 is not set
CONFIG_VMWARE_BALLOON=y
CONFIG_C2PORT=y
CONFIG_C2PORT_DURAMAR_2150=y

#
# EEPROM support
#
CONFIG_EEPROM_MAX6875=y
CONFIG_EEPROM_93CX6=y

#
# Texas Instruments shared transport line discipline
#
CONFIG_HAVE_IDE=y

#
# SCSI device support
#
CONFIG_SCSI_MOD=y
# CONFIG_SCSI_DMA is not set
# CONFIG_SCSI_NETLINK is not set
CONFIG_MACINTOSH_DRIVERS=y
# CONFIG_PHONE is not set

#
# Input device support
#
CONFIG_INPUT=y
CONFIG_INPUT_FF_MEMLESS=y
CONFIG_INPUT_POLLDEV=y
CONFIG_INPUT_SPARSEKMAP=y

#
# Userland interfaces
#
CONFIG_INPUT_MOUSEDEV=y
# CONFIG_INPUT_MOUSEDEV_PSAUX is not set
CONFIG_INPUT_MOUSEDEV_SCREEN_X=1024
CONFIG_INPUT_MOUSEDEV_SCREEN_Y=768
# CONFIG_INPUT_JOYDEV is not set
# CONFIG_INPUT_EVDEV is not set
# CONFIG_INPUT_EVBUG is not set

#
# Input Device Drivers
#
# CONFIG_INPUT_KEYBOARD is not set
CONFIG_INPUT_MOUSE=y
CONFIG_MOUSE_PS2=y
CONFIG_MOUSE_PS2_ALPS=y
# CONFIG_MOUSE_PS2_LOGIPS2PP is not set
CONFIG_MOUSE_PS2_SYNAPTICS=y
# CONFIG_MOUSE_PS2_LIFEBOOK is not set
CONFIG_MOUSE_PS2_TRACKPOINT=y
# CONFIG_MOUSE_PS2_ELANTECH is not set
CONFIG_MOUSE_PS2_SENTELIC=y
CONFIG_MOUSE_PS2_TOUCHKIT=y
# CONFIG_MOUSE_SERIAL is not set
CONFIG_MOUSE_VSXXXAA=y
CONFIG_MOUSE_SYNAPTICS_I2C=y
CONFIG_INPUT_JOYSTICK=y
# CONFIG_JOYSTICK_ANALOG is not set
CONFIG_JOYSTICK_A3D=y
# CONFIG_JOYSTICK_ADI is not set
# CONFIG_JOYSTICK_COBRA is not set
CONFIG_JOYSTICK_GF2K=y
CONFIG_JOYSTICK_GRIP=y
CONFIG_JOYSTICK_GRIP_MP=y
# CONFIG_JOYSTICK_GUILLEMOT is not set
# CONFIG_JOYSTICK_INTERACT is not set
# CONFIG_JOYSTICK_SIDEWINDER is not set
# CONFIG_JOYSTICK_TMDC is not set
CONFIG_JOYSTICK_IFORCE=y
# CONFIG_JOYSTICK_IFORCE_232 is not set
# CONFIG_JOYSTICK_WARRIOR is not set
CONFIG_JOYSTICK_MAGELLAN=y
CONFIG_JOYSTICK_SPACEORB=y
# CONFIG_JOYSTICK_SPACEBALL is not set
# CONFIG_JOYSTICK_STINGER is not set
CONFIG_JOYSTICK_TWIDJOY=y
# CONFIG_JOYSTICK_ZHENHUA is not set
CONFIG_JOYSTICK_JOYDUMP=y
# CONFIG_INPUT_TABLET is not set
CONFIG_INPUT_TOUCHSCREEN=y
# CONFIG_TOUCHSCREEN_ADS7846 is not set
CONFIG_TOUCHSCREEN_AD7877=y
# CONFIG_TOUCHSCREEN_AD7879 is not set
# CONFIG_TOUCHSCREEN_BU21013 is not set
# CONFIG_TOUCHSCREEN_DA9034 is not set
CONFIG_TOUCHSCREEN_DYNAPRO=y
# CONFIG_TOUCHSCREEN_HAMPSHIRE is not set
CONFIG_TOUCHSCREEN_EETI=y
# CONFIG_TOUCHSCREEN_FUJITSU is not set
# CONFIG_TOUCHSCREEN_GUNZE is not set
CONFIG_TOUCHSCREEN_ELO=y
CONFIG_TOUCHSCREEN_WACOM_W8001=y
CONFIG_TOUCHSCREEN_MCS5000=y
CONFIG_TOUCHSCREEN_MTOUCH=y
# CONFIG_TOUCHSCREEN_INEXIO is not set
CONFIG_TOUCHSCREEN_MK712=y
CONFIG_TOUCHSCREEN_PENMOUNT=y
CONFIG_TOUCHSCREEN_QT602240=y
# CONFIG_TOUCHSCREEN_TOUCHRIGHT is not set
CONFIG_TOUCHSCREEN_TOUCHWIN=y
# CONFIG_TOUCHSCREEN_MC13783 is not set
# CONFIG_TOUCHSCREEN_TOUCHIT213 is not set
# CONFIG_TOUCHSCREEN_TSC2007 is not set
CONFIG_TOUCHSCREEN_TPS6507X=y
# CONFIG_TOUCHSCREEN_STMPE is not set
CONFIG_INPUT_MISC=y
CONFIG_INPUT_AD714X=y
# CONFIG_INPUT_AD714X_I2C is not set
# CONFIG_INPUT_AD714X_SPI is not set
CONFIG_INPUT_PCSPKR=y
# CONFIG_INPUT_MAX8925_ONKEY is not set
# CONFIG_INPUT_UINPUT is not set
# CONFIG_INPUT_PCF8574 is not set
# CONFIG_INPUT_WM831X_ON is not set
CONFIG_INPUT_ADXL34X=y
# CONFIG_INPUT_ADXL34X_I2C is not set
# CONFIG_INPUT_ADXL34X_SPI is not set
CONFIG_INPUT_CMA3000=y
# CONFIG_INPUT_CMA3000_I2C is not set

#
# Hardware I/O ports
#
CONFIG_SERIO=y
CONFIG_SERIO_I8042=y
CONFIG_SERIO_SERPORT=y
CONFIG_SERIO_CT82C710=y
CONFIG_SERIO_LIBPS2=y
# CONFIG_SERIO_RAW is not set
# CONFIG_SERIO_ALTERA_PS2 is not set
# CONFIG_SERIO_PS2MULT is not set
CONFIG_GAMEPORT=y
# CONFIG_GAMEPORT_NS558 is not set
# CONFIG_GAMEPORT_L4 is not set

#
# Character devices
#
CONFIG_VT=y
CONFIG_CONSOLE_TRANSLATIONS=y
# CONFIG_VT_CONSOLE is not set
CONFIG_HW_CONSOLE=y
CONFIG_VT_HW_CONSOLE_BINDING=y
# CONFIG_DEVKMEM is not set
CONFIG_SERIAL_NONSTANDARD=y
# CONFIG_N_HDLC is not set
CONFIG_RISCOM8=y
CONFIG_SPECIALIX=y
CONFIG_STALDRV=y

#
# Serial drivers
#
CONFIG_SERIAL_8250=y
# CONFIG_SERIAL_8250_CONSOLE is not set
CONFIG_FIX_EARLYCON_MEM=y
CONFIG_SERIAL_8250_NR_UARTS=4
CONFIG_SERIAL_8250_RUNTIME_UARTS=4
CONFIG_SERIAL_8250_EXTENDED=y
# CONFIG_SERIAL_8250_MANY_PORTS is not set
CONFIG_SERIAL_8250_SHARE_IRQ=y
CONFIG_SERIAL_8250_DETECT_IRQ=y
# CONFIG_SERIAL_8250_RSA is not set

#
# Non-8250 serial port support
#
CONFIG_SERIAL_MAX3100=y
# CONFIG_SERIAL_MAX3107 is not set
CONFIG_SERIAL_CORE=y
CONFIG_SERIAL_CORE_CONSOLE=y
CONFIG_SERIAL_TIMBERDALE=y
CONFIG_SERIAL_ALTERA_JTAGUART=y
CONFIG_SERIAL_ALTERA_JTAGUART_CONSOLE=y
# CONFIG_SERIAL_ALTERA_JTAGUART_CONSOLE_BYPASS is not set
# CONFIG_SERIAL_ALTERA_UART is not set
# CONFIG_UNIX98_PTYS is not set
# CONFIG_LEGACY_PTYS is not set
CONFIG_TTY_PRINTK=y
# CONFIG_HVC_XEN is not set
# CONFIG_IPMI_HANDLER is not set
# CONFIG_HW_RANDOM is not set
CONFIG_NVRAM=y
# CONFIG_RTC is not set
# CONFIG_GEN_RTC is not set
# CONFIG_R3964 is not set
# CONFIG_MWAVE is not set
# CONFIG_HANGCHECK_TIMER is not set
CONFIG_TCG_TPM=y
# CONFIG_TCG_TIS is not set
# CONFIG_TCG_NSC is not set
CONFIG_TCG_ATMEL=y
# CONFIG_TELCLOCK is not set
CONFIG_RAMOOPS=y
CONFIG_I2C=y
CONFIG_I2C_BOARDINFO=y
# CONFIG_I2C_COMPAT is not set
CONFIG_I2C_CHARDEV=y
CONFIG_I2C_MUX=y

#
# Multiplexer I2C Chip support
#
CONFIG_I2C_MUX_PCA9541=y
# CONFIG_I2C_MUX_PCA954x is not set
# CONFIG_I2C_HELPER_AUTO is not set
CONFIG_I2C_SMBUS=y

#
# I2C Algorithms
#
CONFIG_I2C_ALGOBIT=y
# CONFIG_I2C_ALGOPCF is not set
CONFIG_I2C_ALGOPCA=y

#
# I2C Hardware Bus support
#

#
# I2C system bus drivers (mostly embedded / system-on-chip)
#
# CONFIG_I2C_OCORES is not set
CONFIG_I2C_PCA_PLATFORM=y
CONFIG_I2C_SIMTEC=y
# CONFIG_I2C_XILINX is not set

#
# External I2C/SMBus adapter drivers
#
CONFIG_I2C_PARPORT_LIGHT=y
CONFIG_I2C_TAOS_EVM=y

#
# Other I2C/SMBus bus drivers
#
# CONFIG_I2C_DEBUG_CORE is not set
CONFIG_I2C_DEBUG_ALGO=y
# CONFIG_I2C_DEBUG_BUS is not set
CONFIG_SPI=y
CONFIG_SPI_MASTER=y

#
# SPI Master Controller Drivers
#
CONFIG_SPI_BITBANG=y
# CONFIG_SPI_XILINX is not set
# CONFIG_SPI_DESIGNWARE is not set

#
# SPI Protocol Masters
#
CONFIG_SPI_SPIDEV=y

#
# PPS support
#
# CONFIG_PPS is not set
CONFIG_ARCH_WANT_OPTIONAL_GPIOLIB=y
# CONFIG_GPIOLIB is not set
# CONFIG_W1 is not set
# CONFIG_POWER_SUPPLY is not set
CONFIG_HWMON=y
CONFIG_HWMON_VID=y
# CONFIG_HWMON_DEBUG_CHIP is not set

#
# Native drivers
#
CONFIG_SENSORS_ABITUGURU=y
CONFIG_SENSORS_ABITUGURU3=y
# CONFIG_SENSORS_AD7414 is not set
# CONFIG_SENSORS_AD7418 is not set
# CONFIG_SENSORS_ADCXX is not set
CONFIG_SENSORS_ADM1021=y
# CONFIG_SENSORS_ADM1025 is not set
CONFIG_SENSORS_ADM1026=y
# CONFIG_SENSORS_ADM1029 is not set
# CONFIG_SENSORS_ADM1031 is not set
CONFIG_SENSORS_ADM9240=y
# CONFIG_SENSORS_ADT7411 is not set
CONFIG_SENSORS_ADT7462=y
CONFIG_SENSORS_ADT7470=y
CONFIG_SENSORS_ADT7475=y
CONFIG_SENSORS_ASC7621=y
CONFIG_SENSORS_ASB100=y
CONFIG_SENSORS_ATXP1=y
CONFIG_SENSORS_DS1621=y
CONFIG_SENSORS_F71805F=y
CONFIG_SENSORS_F71882FG=y
# CONFIG_SENSORS_F75375S is not set
CONFIG_SENSORS_FSCHMD=y
# CONFIG_SENSORS_G760A is not set
CONFIG_SENSORS_GL518SM=y
CONFIG_SENSORS_GL520SM=y
CONFIG_SENSORS_PKGTEMP=y
CONFIG_SENSORS_IT87=y
# CONFIG_SENSORS_JC42 is not set
# CONFIG_SENSORS_LM63 is not set
# CONFIG_SENSORS_LM70 is not set
# CONFIG_SENSORS_LM73 is not set
CONFIG_SENSORS_LM75=y
CONFIG_SENSORS_LM77=y
# CONFIG_SENSORS_LM78 is not set
CONFIG_SENSORS_LM80=y
# CONFIG_SENSORS_LM83 is not set
CONFIG_SENSORS_LM85=y
CONFIG_SENSORS_LM87=y
CONFIG_SENSORS_LM90=y
# CONFIG_SENSORS_LM92 is not set
# CONFIG_SENSORS_LM93 is not set
# CONFIG_SENSORS_LTC4215 is not set
# CONFIG_SENSORS_LTC4245 is not set
CONFIG_SENSORS_LTC4261=y
# CONFIG_SENSORS_LM95241 is not set
# CONFIG_SENSORS_MAX1111 is not set
# CONFIG_SENSORS_MAX1619 is not set
# CONFIG_SENSORS_MAX6650 is not set
CONFIG_SENSORS_PC87360=y
# CONFIG_SENSORS_PC87427 is not set
CONFIG_SENSORS_PCF8591=y
# CONFIG_SENSORS_SMM665 is not set
CONFIG_SENSORS_DME1737=y
# CONFIG_SENSORS_EMC1403 is not set
# CONFIG_SENSORS_EMC2103 is not set
# CONFIG_SENSORS_SMSC47M1 is not set
# CONFIG_SENSORS_SMSC47M192 is not set
CONFIG_SENSORS_SMSC47B397=y
CONFIG_SENSORS_ADS7828=y
CONFIG_SENSORS_ADS7871=y
CONFIG_SENSORS_AMC6821=y
# CONFIG_SENSORS_THMC50 is not set
# CONFIG_SENSORS_TMP102 is not set
# CONFIG_SENSORS_TMP401 is not set
CONFIG_SENSORS_TMP421=y
# CONFIG_SENSORS_VIA_CPUTEMP is not set
# CONFIG_SENSORS_VT1211 is not set
# CONFIG_SENSORS_W83781D is not set
# CONFIG_SENSORS_W83791D is not set
# CONFIG_SENSORS_W83792D is not set
CONFIG_SENSORS_W83793=y
# CONFIG_SENSORS_W83795 is not set
CONFIG_SENSORS_W83L785TS=y
# CONFIG_SENSORS_W83L786NG is not set
CONFIG_SENSORS_W83627HF=y
# CONFIG_SENSORS_W83627EHF is not set
CONFIG_SENSORS_WM831X=y
CONFIG_SENSORS_WM8350=y
CONFIG_SENSORS_LIS3_SPI=y
# CONFIG_SENSORS_LIS3_I2C is not set
# CONFIG_SENSORS_APPLESMC is not set
# CONFIG_SENSORS_MC13783_ADC is not set
CONFIG_THERMAL=y
CONFIG_THERMAL_HWMON=y
# CONFIG_WATCHDOG is not set
CONFIG_SSB_POSSIBLE=y

#
# Sonics Silicon Backplane
#
# CONFIG_SSB is not set
CONFIG_MFD_SUPPORT=y
CONFIG_MFD_CORE=y
# CONFIG_MFD_88PM860X is not set
CONFIG_MFD_SM501=y
# CONFIG_HTC_PASIC3 is not set
# CONFIG_TPS6507X is not set
# CONFIG_TWL4030_CORE is not set
CONFIG_MFD_STMPE=y
# CONFIG_MFD_TC35892 is not set
# CONFIG_MFD_TMIO is not set
CONFIG_PMIC_DA903X=y
# CONFIG_PMIC_ADP5520 is not set
CONFIG_MFD_MAX8925=y
# CONFIG_MFD_MAX8998 is not set
CONFIG_MFD_WM8400=y
CONFIG_MFD_WM831X=y
CONFIG_MFD_WM831X_I2C=y
CONFIG_MFD_WM831X_SPI=y
CONFIG_MFD_WM8350=y
CONFIG_MFD_WM8350_I2C=y
CONFIG_MFD_WM8994=y
# CONFIG_MFD_PCF50633 is not set
CONFIG_MFD_MC13783=y
CONFIG_MFD_MC13XXX=y
CONFIG_ABX500_CORE=y
CONFIG_AB3100_CORE=y
CONFIG_AB3100_OTP=y
# CONFIG_EZX_PCAP is not set
# CONFIG_AB3550_CORE is not set
# CONFIG_REGULATOR is not set
CONFIG_MEDIA_SUPPORT=y

#
# Multimedia core support
#
# CONFIG_VIDEO_DEV is not set
# CONFIG_VIDEO_MEDIA is not set

#
# Multimedia drivers
#
# CONFIG_RC_CORE is not set
# CONFIG_DAB is not set

#
# Graphics support
#
CONFIG_DRM=y
# CONFIG_VGASTATE is not set
# CONFIG_VIDEO_OUTPUT_CONTROL is not set
# CONFIG_FB is not set
CONFIG_BACKLIGHT_LCD_SUPPORT=y
CONFIG_LCD_CLASS_DEVICE=y
# CONFIG_LCD_LTV350QV is not set
CONFIG_LCD_ILI9320=y
# CONFIG_LCD_TDO24M is not set
CONFIG_LCD_VGG2432A4=y
# CONFIG_LCD_PLATFORM is not set
CONFIG_LCD_S6E63M0=y
CONFIG_BACKLIGHT_CLASS_DEVICE=y
# CONFIG_BACKLIGHT_GENERIC is not set
CONFIG_BACKLIGHT_DA903X=y
# CONFIG_BACKLIGHT_MAX8925 is not set
# CONFIG_BACKLIGHT_MBP_NVIDIA is not set
# CONFIG_BACKLIGHT_SAHARA is not set
# CONFIG_BACKLIGHT_WM831X is not set
# CONFIG_BACKLIGHT_ADP8860 is not set

#
# Display device support
#
CONFIG_DISPLAY_SUPPORT=y

#
# Display hardware drivers
#

#
# Console display driver support
#
CONFIG_VGA_CONSOLE=y
# CONFIG_VGACON_SOFT_SCROLLBACK is not set
CONFIG_DUMMY_CONSOLE=y
# CONFIG_SOUND is not set
# CONFIG_HID_SUPPORT is not set
# CONFIG_USB_SUPPORT is not set
# CONFIG_MMC is not set
# CONFIG_MEMSTICK is not set
CONFIG_NEW_LEDS=y
# CONFIG_LEDS_CLASS is not set

#
# LED drivers
#

#
# LED Triggers
#
CONFIG_ACCESSIBILITY=y
# CONFIG_A11Y_BRAILLE_CONSOLE is not set
CONFIG_EDAC=y

#
# Reporting subsystems
#
# CONFIG_EDAC_DEBUG is not set
CONFIG_EDAC_MM_EDAC=y
# CONFIG_RTC_CLASS is not set
# CONFIG_DMADEVICES is not set
# CONFIG_AUXDISPLAY is not set
# CONFIG_UIO is not set

#
# Xen driver support
#
# CONFIG_XEN_BALLOON is not set
# CONFIG_XEN_DEV_EVTCHN is not set
CONFIG_XENFS=y
CONFIG_XEN_COMPAT_XENFS=y
# CONFIG_XEN_GNTDEV is not set
CONFIG_XEN_PLATFORM_PCI=y
CONFIG_STAGING=y
CONFIG_STAGING_EXCLUDE_BUILD=y
# CONFIG_X86_PLATFORM_DEVICES is not set

#
# Firmware Drivers
#
# CONFIG_EDD is not set
# CONFIG_FIRMWARE_MEMMAP is not set
CONFIG_DELL_RBU=y
CONFIG_DCDBAS=y
# CONFIG_DMIID is not set
# CONFIG_ISCSI_IBFT_FIND is not set

#
# File systems
#
CONFIG_FILE_LOCKING=y
CONFIG_FSNOTIFY=y
CONFIG_DNOTIFY=y
# CONFIG_INOTIFY_USER is not set
CONFIG_FANOTIFY=y
# CONFIG_QUOTA is not set
# CONFIG_QUOTACTL is not set
# CONFIG_AUTOFS4_FS is not set
CONFIG_FUSE_FS=y
CONFIG_CUSE=y

#
# Caches
#
# CONFIG_FSCACHE is not set

#
# Pseudo filesystems
#
CONFIG_PROC_FS=y
# CONFIG_PROC_KCORE is not set
# CONFIG_PROC_SYSCTL is not set
CONFIG_PROC_PAGE_MONITOR=y
# CONFIG_SYSFS is not set
# CONFIG_HUGETLBFS is not set
# CONFIG_HUGETLB_PAGE is not set
# CONFIG_MISC_FILESYSTEMS is not set
# CONFIG_NLS is not set

#
# Kernel hacking
#
CONFIG_TRACE_IRQFLAGS_SUPPORT=y
# CONFIG_PRINTK_TIME is not set
CONFIG_ENABLE_WARN_DEPRECATED=y
CONFIG_ENABLE_MUST_CHECK=y
CONFIG_FRAME_WARN=2048
# CONFIG_MAGIC_SYSRQ is not set
CONFIG_STRIP_ASM_SYMS=y
# CONFIG_UNUSED_SYMBOLS is not set
CONFIG_DEBUG_FS=y
# CONFIG_HEADERS_CHECK is not set
# CONFIG_DEBUG_KERNEL is not set
# CONFIG_HARDLOCKUP_DETECTOR is not set
# CONFIG_SPARSE_RCU_POINTER is not set
CONFIG_TRACE_IRQFLAGS=y
CONFIG_STACKTRACE=y
CONFIG_DEBUG_MEMORY_INIT=y
CONFIG_ARCH_WANT_FRAME_POINTERS=y
CONFIG_FRAME_POINTER=y
CONFIG_RCU_CPU_STALL_DETECTOR=y
CONFIG_RCU_CPU_STALL_TIMEOUT=60
CONFIG_RCU_CPU_STALL_DETECTOR_RUNNABLE=y
CONFIG_USER_STACKTRACE_SUPPORT=y
CONFIG_NOP_TRACER=y
CONFIG_HAVE_FUNCTION_TRACER=y
CONFIG_HAVE_FUNCTION_GRAPH_TRACER=y
CONFIG_HAVE_FUNCTION_GRAPH_FP_TEST=y
CONFIG_HAVE_FUNCTION_TRACE_MCOUNT_TEST=y
CONFIG_HAVE_DYNAMIC_FTRACE=y
CONFIG_HAVE_FTRACE_MCOUNT_RECORD=y
CONFIG_HAVE_SYSCALL_TRACEPOINTS=y
CONFIG_HAVE_C_RECORDMCOUNT=y
CONFIG_TRACER_MAX_TRACE=y
CONFIG_RING_BUFFER=y
CONFIG_EVENT_TRACING=y
CONFIG_CONTEXT_SWITCH_TRACER=y
CONFIG_RING_BUFFER_ALLOW_SWAP=y
CONFIG_TRACING=y
CONFIG_GENERIC_TRACER=y
CONFIG_TRACING_SUPPORT=y
CONFIG_FTRACE=y
CONFIG_FUNCTION_TRACER=y
# CONFIG_FUNCTION_GRAPH_TRACER is not set
CONFIG_IRQSOFF_TRACER=y
# CONFIG_SCHED_TRACER is not set
CONFIG_FTRACE_SYSCALLS=y
CONFIG_TRACE_BRANCH_PROFILING=y
# CONFIG_BRANCH_PROFILE_NONE is not set
# CONFIG_PROFILE_ANNOTATED_BRANCHES is not set
CONFIG_PROFILE_ALL_BRANCHES=y
CONFIG_TRACING_BRANCHES=y
CONFIG_BRANCH_TRACER=y
CONFIG_STACK_TRACER=y
# CONFIG_DYNAMIC_FTRACE is not set
# CONFIG_FUNCTION_PROFILER is not set
CONFIG_FTRACE_SELFTEST=y
CONFIG_FTRACE_STARTUP_TEST=y
CONFIG_EVENT_TRACE_TEST_SYSCALLS=y
# CONFIG_RING_BUFFER_BENCHMARK is not set
# CONFIG_DYNAMIC_DEBUG is not set
# CONFIG_DMA_API_DEBUG is not set
# CONFIG_ATOMIC64_SELFTEST is not set
# CONFIG_SAMPLES is not set
CONFIG_HAVE_ARCH_KGDB=y
CONFIG_HAVE_ARCH_KMEMCHECK=y
CONFIG_STRICT_DEVMEM=y
CONFIG_X86_VERBOSE_BOOTUP=y
# CONFIG_EARLY_PRINTK is not set
CONFIG_IOMMU_STRESS=y
CONFIG_HAVE_MMIOTRACE_SUPPORT=y
CONFIG_IO_DELAY_TYPE_0X80=0
CONFIG_IO_DELAY_TYPE_0XED=1
CONFIG_IO_DELAY_TYPE_UDELAY=2
CONFIG_IO_DELAY_TYPE_NONE=3
# CONFIG_IO_DELAY_0X80 is not set
# CONFIG_IO_DELAY_0XED is not set
# CONFIG_IO_DELAY_UDELAY is not set
CONFIG_IO_DELAY_NONE=y
CONFIG_DEFAULT_IO_DELAY_TYPE=3
# CONFIG_OPTIMIZE_INLINING is not set

#
# Security options
#
CONFIG_KEYS=y
# CONFIG_TRUSTED_KEYS is not set
# CONFIG_KEYS_DEBUG_PROC_KEYS is not set
# CONFIG_SECURITY_DMESG_RESTRICT is not set
CONFIG_SECURITYFS=y
CONFIG_DEFAULT_SECURITY_DAC=y
CONFIG_DEFAULT_SECURITY=""
# CONFIG_CRYPTO is not set
CONFIG_HAVE_KVM=y
# CONFIG_VIRTUALIZATION is not set
CONFIG_BINARY_PRINTF=y

#
# Library routines
#
CONFIG_BITREVERSE=y
CONFIG_GENERIC_FIND_FIRST_BIT=y
CONFIG_GENERIC_FIND_NEXT_BIT=y
CONFIG_GENERIC_FIND_LAST_BIT=y
# CONFIG_CRC_CCITT is not set
CONFIG_CRC16=y
CONFIG_CRC_T10DIF=y
CONFIG_CRC_ITU_T=y
CONFIG_CRC32=y
CONFIG_CRC7=y
# CONFIG_LIBCRC32C is not set
CONFIG_REED_SOLOMON=y
CONFIG_REED_SOLOMON_DEC16=y
CONFIG_HAS_IOMEM=y
CONFIG_HAS_IOPORT=y
CONFIG_HAS_DMA=y
CONFIG_SHM_SIGNAL=y
CONFIG_IOQ=y

^ permalink raw reply

* Re: linux-next: Tree for December 10
From: Zimny Lech @ 2010-12-13 19:04 UTC (permalink / raw)
  To: Stephen Rothwell; +Cc: linux-next, LKML, Wolfgang Grandegger, netdev
In-Reply-To: <AANLkTinXT6jyr9C=LJA9Y_5v3sWN1fDHF9NRsTLHVXuF@mail.gmail.com>

Sorry, this should be reported for next-20101213

W dniu 13 grudnia 2010 20:02 użytkownik Zimny Lech
<napohybelskurwysynom2010@gmail.com> napisał:
> Ave,
>
> 2010/12/10 Stephen Rothwell <sfr@canb.auug.org.au>:
>> Hi all,
>>
>> Changes since 20101209:
>>
>
> WARNING: modpost: Found 14 section mismatch(es).
> To see full details build your kernel with:
> 'make CONFIG_DEBUG_SECTION_MISMATCH=y'
>  GEN     .version
>  CHK     include/generated/compile.h
>  UPD     include/generated/compile.h
>  CC      init/version.o
>  LD      init/built-in.o
>  LD      .tmp_vmlinux1
> arch/x86/built-in.o: In function `kvm_smp_prepare_boot_cpu':
> kvm.c:(.init.text+0xf446): undefined reference to `kvm_register_clock'
> drivers/built-in.o: In function `generate_netlink_event':
> (.text+0x1087ee): undefined reference to `__alloc_skb'
> drivers/built-in.o: In function `generate_netlink_event':
> (.text+0x108897): undefined reference to `skb_put'
> drivers/built-in.o: In function `generate_netlink_event':
> (.text+0x108930): undefined reference to `kfree_skb'
> drivers/built-in.o: In function `generate_netlink_event':
> (.text+0x108947): undefined reference to `nla_reserve'
> drivers/built-in.o: In function `generate_netlink_event':
> (.text+0x108990): undefined reference to `kfree_skb'
> drivers/built-in.o: In function `generate_netlink_event':
> (.text+0x1089e9): undefined reference to `kfree_skb'
> drivers/built-in.o: In function `generate_netlink_event':
> (.text+0x1089f8): undefined reference to `init_net'
> drivers/built-in.o: In function `generate_netlink_event':
> (.text+0x108a0b): undefined reference to `netlink_broadcast'
> drivers/built-in.o: In function `thermal_init':
> thermal_sys.c:(.init.text+0xbd00): undefined reference to `genl_register_family'
> thermal_sys.c:(.init.text+0xbd2f): undefined reference to
> `genl_register_mc_group'
> thermal_sys.c:(.init.text+0xbd57): undefined reference to
> `genl_unregister_family'
> drivers/built-in.o: In function `thermal_exit':
> thermal_sys.c:(.exit.text+0x154c): undefined reference to
> `genl_unregister_family'
> make[1]: *** [.tmp_vmlinux1] Error 1
> make: *** [sub-make] Error 2
>
>
> --
> Slawa!
> Zimny "Spie dziadu!" Lech z Wawelu
>
> Hej, tam!
> Wydarłem klejnot szans
> http://www.youtube.com/watch?v=VXWTlYzVFUA
>



-- 
Slawa!
Zimny "Spie dziadu!" Lech z Wawelu

Hej, tam!
Wydarłem klejnot szans
http://www.youtube.com/watch?v=VXWTlYzVFUA

^ permalink raw reply

* Re: brcm80211 hangs when disabling wireless
From: Henry Ptasinski @ 2010-12-13 19:31 UTC (permalink / raw)
  To: Dave Hansen
  Cc: Greg KH, John W. Linville, Johannes Berg, Brett Rudley,
	Jason Cooper, Mike Rapoport, Andy Shevchenko,
	linux-wireless@vger.kernel.org, netdev@vger.kernel.org,
	devel@driverdev.osuosl.org, linux-kernel@vger.kernel.org,
	Henry Ptasinski, arend, rvossen
In-Reply-To: <1291931678.7960.32.camel@nimitz>

On Thu, Dec 09, 2010 at 01:54:38PM -0800, Dave Hansen wrote:
> On Thu, 2010-12-09 at 13:43 -0800, Greg KH wrote:
> > On Thu, Dec 09, 2010 at 01:26:50PM -0800, Dave Hansen wrote:
> > > I've been getting hard hangs when I toggle the wireless on a Lenovo
> > > S10-3.  It happens both with the physical switch and the Fn-F5 key
> > > combo.  It's quite repeatable.  The system is quite stable when I'm not
> > > trying to disable the wireless, though.
> > 
> > What kernel version is this?
> > 
> > Linus's latest tree has a known bug when the wireless is suspended and
> > then resumed.  Broadcom is working on it but no patch is forthcoming
> > yet.  Perhaps this is the same issue.
> 
> Yeah, it's 2.6.37-rc5 plus a pull from:
> 
> 	http://kernel.ubuntu.com/git?p=ikepanhc/ideapad-laptop.git;a=summary
> 
> That could easily be it.  Thanks, Greg.

Actually, I think it's the rfkill support (or lack thereof) that's causing you
trouble.  But we're looking at that as well.

The outstanding reported issues that I'm aware of are:
	- 43224 crashes
	- missing rfkill support
	- suspend/resume problems
	- 4313 infinite loop in some cases

In terms of process, should these all get filed in bugzilla.kernel.org (or
somewhere else), or just track them via email and our TODO list?

Thanks,
- Henry

^ permalink raw reply

* Re: brcm80211 hangs when disabling wireless
From: Greg KH @ 2010-12-13 19:42 UTC (permalink / raw)
  To: Henry Ptasinski
  Cc: Dave Hansen, devel@driverdev.osuosl.org, Jason Cooper,
	netdev@vger.kernel.org, Greg KH, linux-wireless@vger.kernel.org,
	John W. Linville, linux-kernel@vger.kernel.org, Mike Rapoport,
	Andy Shevchenko, Johannes Berg
In-Reply-To: <20101213193111.GK2576@broadcom.com>

On Mon, Dec 13, 2010 at 11:31:11AM -0800, Henry Ptasinski wrote:
> On Thu, Dec 09, 2010 at 01:54:38PM -0800, Dave Hansen wrote:
> > On Thu, 2010-12-09 at 13:43 -0800, Greg KH wrote:
> > > On Thu, Dec 09, 2010 at 01:26:50PM -0800, Dave Hansen wrote:
> > > > I've been getting hard hangs when I toggle the wireless on a Lenovo
> > > > S10-3.  It happens both with the physical switch and the Fn-F5 key
> > > > combo.  It's quite repeatable.  The system is quite stable when I'm not
> > > > trying to disable the wireless, though.
> > > 
> > > What kernel version is this?
> > > 
> > > Linus's latest tree has a known bug when the wireless is suspended and
> > > then resumed.  Broadcom is working on it but no patch is forthcoming
> > > yet.  Perhaps this is the same issue.
> > 
> > Yeah, it's 2.6.37-rc5 plus a pull from:
> > 
> > 	http://kernel.ubuntu.com/git?p=ikepanhc/ideapad-laptop.git;a=summary
> > 
> > That could easily be it.  Thanks, Greg.
> 
> Actually, I think it's the rfkill support (or lack thereof) that's causing you
> trouble.  But we're looking at that as well.
> 
> The outstanding reported issues that I'm aware of are:
> 	- 43224 crashes
> 	- missing rfkill support
> 	- suspend/resume problems
> 	- 4313 infinite loop in some cases
> 
> In terms of process, should these all get filed in bugzilla.kernel.org (or
> somewhere else), or just track them via email and our TODO list?

Where ever you feel comfortable putting them, some like email, some like
bugzilla.kernel.org.  The TODO list might be a bit tougher as it doesn't
always propagate to Linus fast enough (look at the differences between
it already in Linus's tree and linux-next, right?)

thanks,

greg k-h

^ permalink raw reply

* Re: [PATCH net-2.6 1/3] bonding/vlan: Remove redundant VLAN tag insertion logic
From: Jay Vosburgh @ 2010-12-13 19:58 UTC (permalink / raw)
  To: Ben Hutchings; +Cc: David Miller, netdev, linux-net-drivers, Jesse Gross
In-Reply-To: <1292264368.9860.13.camel@bwh-desktop>

Ben Hutchings <bhutchings@solarflare.com> wrote:

>A bond may have a mixture of slave devices with and without hardware
>VLAN tag insertion capability.  Therefore it always claims this
>capability and performs software VLAN tag insertion if the slave does
>not.
>
>Since commit 7b9c60903714bf0a19d746b228864bad3497284e, this has
>also been done by dev_hard_start_xmit().  The result is that VLAN-
>tagged skbs are now double-tagged when transmitted through slave
>devices without hardware VLAN tag insertion!
>
>Remove the now-redundant logic from bond_dev_queue_xmit().
>
>Signed-off-by: Ben Hutchings <bhutchings@solarflare.com>

Signed-off-by: Jay Vosburgh <fubar@us.ibm.com>

>---
> drivers/net/bonding/bond_main.c |   27 +--------------------------
> 1 files changed, 1 insertions(+), 26 deletions(-)
>
>diff --git a/drivers/net/bonding/bond_main.c b/drivers/net/bonding/bond_main.c
>index d0ea760..ef370c9 100644
>--- a/drivers/net/bonding/bond_main.c
>+++ b/drivers/net/bonding/bond_main.c
>@@ -418,36 +418,11 @@ struct vlan_entry *bond_next_vlan(struct bonding *bond, struct vlan_entry *curr)
>  * @bond: bond device that got this skb for tx.
>  * @skb: hw accel VLAN tagged skb to transmit
>  * @slave_dev: slave that is supposed to xmit this skbuff
>- *
>- * When the bond gets an skb to transmit that is
>- * already hardware accelerated VLAN tagged, and it
>- * needs to relay this skb to a slave that is not
>- * hw accel capable, the skb needs to be "unaccelerated",
>- * i.e. strip the hwaccel tag and re-insert it as part
>- * of the payload.
>  */
> int bond_dev_queue_xmit(struct bonding *bond, struct sk_buff *skb,
> 			struct net_device *slave_dev)
> {
>-	unsigned short uninitialized_var(vlan_id);
>-
>-	/* Test vlan_list not vlgrp to catch and handle 802.1p tags */
>-	if (!list_empty(&bond->vlan_list) &&
>-	    !(slave_dev->features & NETIF_F_HW_VLAN_TX) &&
>-	    vlan_get_tag(skb, &vlan_id) == 0) {
>-		skb->dev = slave_dev;
>-		skb = vlan_put_tag(skb, vlan_id);
>-		if (!skb) {
>-			/* vlan_put_tag() frees the skb in case of error,
>-			 * so return success here so the calling functions
>-			 * won't attempt to free is again.
>-			 */
>-			return 0;
>-		}
>-	} else {
>-		skb->dev = slave_dev;
>-	}
>-
>+	skb->dev = slave_dev;
> 	skb->priority = 1;
> #ifdef CONFIG_NET_POLL_CONTROLLER
> 	if (unlikely(bond->dev->priv_flags & IFF_IN_NETPOLL)) {
>-- 
>1.7.3.2
>
>
>
>-- 
>Ben Hutchings, Senior Software Engineer, Solarflare Communications
>Not speaking for my employer; that's the marketing department's job.
>They asked us to note that Solarflare product names are trademarked.
>
>--
>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

^ permalink raw reply

* [PATCH net-next-2.6] net: add limits to ip_default_ttl
From: Eric Dumazet @ 2010-12-13 20:08 UTC (permalink / raw)
  To: David Miller; +Cc: netdev
In-Reply-To: <20101213.100400.39192396.davem@davemloft.net>

Le lundi 13 décembre 2010 à 10:04 -0800, David Miller a écrit :
> Always go through a new ip4_dst_hoplimit() helper, just like ipv6.
> 
> This allowed several simplifications:
> 
> 1) The interim dst_metric_hoplimit() can go as it's no longer
>    userd.
> 
> 2) The sysctl_ip_default_ttl entry no longer needs to use
>    ipv4_doint_and_flush, since the sysctl is not cached in
>    routing cache metrics any longer.
> 
> 3) ipv4_doint_and_flush no longer needs to be exported and
>    therefore can be marked static.
> 
> When ipv4_doint_and_flush_strategy was removed some time ago,
> the external declaration in ip.h was mistakenly left around
> so kill that off too.
> 
> We have to move the sysctl_ip_default_ttl declaration into
> ipv4's route cache definition header net/route.h, because
> currently net/ip.h (where the declaration lives now) has
> a back dependency on net/route.h
> 
> Signed-off-by: David S. Miller <davem@davemloft.net>
> ---

> --- a/net/ipv4/sysctl_net_ipv4.c
> +++ b/net/ipv4/sysctl_net_ipv4.c
> @@ -155,7 +155,7 @@ static struct ctl_table ipv4_table[] = {
>  		.data		= &sysctl_ip_default_ttl,
>  		.maxlen		= sizeof(int),
>  		.mode		= 0644,
> -		.proc_handler	= ipv4_doint_and_flush,
> +		.proc_handler	= proc_dointvec,
>  		.extra2		= &init_net,
>  	},

Please find following patch then, because extra2 is not anymore used.

BTW, I cant find where extra2 was set to actual struct net pointer in
net-2.6 kernel. I suspect a write on /proc/sys/net/ipv4/ip_default_ttl
was flushing routes of initial net only, not current one ?

I can see this extra2 param properly handled in
__devinet_sysctl_register() for /proc/net/ipv4/conf parameters, not for
ip_default_ttl.



For net-next-2.6, we could remove the line, or we could add sensible
limits ;)

[PATCH net-next-2.6] net: add limits to ip_default_ttl

ip_default_ttl should be between 1 and 255

Signed-off-by: Eric Dumazet <eric.dumazet@gmail.com>
---
 net/ipv4/sysctl_net_ipv4.c |    7 +++++--
 1 file changed, 5 insertions(+), 2 deletions(-)

diff --git a/net/ipv4/sysctl_net_ipv4.c b/net/ipv4/sysctl_net_ipv4.c
index e85ff59..1a45665 100644
--- a/net/ipv4/sysctl_net_ipv4.c
+++ b/net/ipv4/sysctl_net_ipv4.c
@@ -28,6 +28,8 @@ static int ip_local_port_range_min[] = { 1, 1 };
 static int ip_local_port_range_max[] = { 65535, 65535 };
 static int tcp_adv_win_scale_min = -31;
 static int tcp_adv_win_scale_max = 31;
+static int ip_ttl_min = 1;
+static int ip_ttl_max = 255;
 
 /* Update system visible IP port range */
 static void set_local_port_range(int range[2])
@@ -155,8 +157,9 @@ static struct ctl_table ipv4_table[] = {
 		.data		= &sysctl_ip_default_ttl,
 		.maxlen		= sizeof(int),
 		.mode		= 0644,
-		.proc_handler	= proc_dointvec,
-		.extra2		= &init_net,
+		.proc_handler	= proc_dointvec_minmax,
+		.extra1		= &ip_ttl_min,
+		.extra2		= &ip_ttl_max,
 	},
 	{
 		.procname	= "ip_no_pmtu_disc",



^ permalink raw reply related

* Re: [PATCH net-next-2.6] net: add limits to ip_default_ttl
From: David Miller @ 2010-12-13 20:18 UTC (permalink / raw)
  To: eric.dumazet; +Cc: netdev
In-Reply-To: <1292270912.2679.42.camel@edumazet-laptop>

From: Eric Dumazet <eric.dumazet@gmail.com>
Date: Mon, 13 Dec 2010 21:08:32 +0100

> Le lundi 13 décembre 2010 à 10:04 -0800, David Miller a écrit :
>> Always go through a new ip4_dst_hoplimit() helper, just like ipv6.
 ...
> Please find following patch then, because extra2 is not anymore used.

Ok.

> BTW, I cant find where extra2 was set to actual struct net pointer in
> net-2.6 kernel. I suspect a write on /proc/sys/net/ipv4/ip_default_ttl
> was flushing routes of initial net only, not current one ?

It appears that way.

> [PATCH net-next-2.6] net: add limits to ip_default_ttl
> 
> ip_default_ttl should be between 1 and 255
> 
> Signed-off-by: Eric Dumazet <eric.dumazet@gmail.com>

Applied, thanks Eric.

^ permalink raw reply

* [PATCH] fragment locally-generated IPsec6 packets that need it
From: David L Stevens @ 2010-12-13 20:19 UTC (permalink / raw)
  To: herbert, davem; +Cc: netdev

This patch modifies IPsec6 to fragment IPv6 packets that are
locally generated as needed.

Signed-off-by: David L Stevens <dlstevens@us.ibm.com>

diff -ruNp linux-2.6.36-rc8/include/net/ip6_route.h linux-2.6.36-rc8DLS/include/net/ip6_route.h
--- linux-2.6.36-rc8/include/net/ip6_route.h	2010-10-14 16:26:43.000000000 -0700
+++ linux-2.6.36-rc8DLS/include/net/ip6_route.h	2010-12-12 09:22:48.582141401 -0800
@@ -164,5 +164,15 @@ static inline int ipv6_unicast_destinati
 	return rt->rt6i_flags & RTF_LOCAL;
 }
 
+int ip6_fragment(struct sk_buff *skb, int (*output)(struct sk_buff *));
+
+static inline int ip6_skb_dst_mtu(struct sk_buff *skb)
+{
+	struct ipv6_pinfo *np = skb->sk ? inet6_sk(skb->sk) : NULL;
+
+	return (np && np->pmtudisc == IPV6_PMTUDISC_PROBE) ?
+	       skb_dst(skb)->dev->mtu : dst_mtu(skb_dst(skb));
+}
+
 #endif
 #endif
diff -ruNp linux-2.6.36-rc8/net/ipv6/ip6_output.c linux-2.6.36-rc8DLS/net/ipv6/ip6_output.c
--- linux-2.6.36-rc8/net/ipv6/ip6_output.c	2010-10-14 16:26:43.000000000 -0700
+++ linux-2.6.36-rc8DLS/net/ipv6/ip6_output.c	2010-12-12 09:24:25.377740025 -0800
@@ -56,7 +56,7 @@
 #include <net/checksum.h>
 #include <linux/mroute6.h>
 
-static int ip6_fragment(struct sk_buff *skb, int (*output)(struct sk_buff *));
+int ip6_fragment(struct sk_buff *skb, int (*output)(struct sk_buff *));
 
 int __ip6_local_out(struct sk_buff *skb)
 {
@@ -145,14 +145,6 @@ static int ip6_finish_output2(struct sk_
 	return -EINVAL;
 }
 
-static inline int ip6_skb_dst_mtu(struct sk_buff *skb)
-{
-	struct ipv6_pinfo *np = skb->sk ? inet6_sk(skb->sk) : NULL;
-
-	return (np && np->pmtudisc == IPV6_PMTUDISC_PROBE) ?
-	       skb_dst(skb)->dev->mtu : dst_mtu(skb_dst(skb));
-}
-
 static int ip6_finish_output(struct sk_buff *skb)
 {
 	if ((skb->len > ip6_skb_dst_mtu(skb) && !skb_is_gso(skb)) ||
@@ -601,7 +593,7 @@ int ip6_find_1stfragopt(struct sk_buff *
 	return offset;
 }
 
-static int ip6_fragment(struct sk_buff *skb, int (*output)(struct sk_buff *))
+int ip6_fragment(struct sk_buff *skb, int (*output)(struct sk_buff *))
 {
 	struct sk_buff *frag;
 	struct rt6_info *rt = (struct rt6_info*)skb_dst(skb);
@@ -874,6 +866,8 @@ fail:
 	return err;
 }
 
+EXPORT_SYMBOL_GPL(ip6_fragment);
+
 static inline int ip6_rt_check(struct rt6key *rt_key,
 			       struct in6_addr *fl_addr,
 			       struct in6_addr *addr_cache)
diff -ruNp linux-2.6.36-rc8/net/ipv6/xfrm6_output.c linux-2.6.36-rc8DLS/net/ipv6/xfrm6_output.c
--- linux-2.6.36-rc8/net/ipv6/xfrm6_output.c	2010-10-14 16:26:43.000000000 -0700
+++ linux-2.6.36-rc8DLS/net/ipv6/xfrm6_output.c	2010-12-12 09:30:21.019560623 -0800
@@ -17,6 +17,7 @@
 #include <linux/netfilter_ipv6.h>
 #include <net/dst.h>
 #include <net/ipv6.h>
+#include <net/ip6_route.h>
 #include <net/xfrm.h>
 
 int xfrm6_find_1stfragopt(struct xfrm_state *x, struct sk_buff *skb,
@@ -88,8 +89,17 @@ static int xfrm6_output_finish(struct sk
 	return xfrm_output(skb);
 }
 
-int xfrm6_output(struct sk_buff *skb)
+static int __xfrm6_output(struct sk_buff *skb)
 {
 	return NF_HOOK(NFPROTO_IPV6, NF_INET_POST_ROUTING, skb, NULL,
 		       skb_dst(skb)->dev, xfrm6_output_finish);
 }
+
+int xfrm6_output(struct sk_buff *skb)
+{
+	if ((skb->len > ip6_skb_dst_mtu(skb) && !skb_is_gso(skb)) ||
+		dst_allfrag(skb_dst(skb))) {
+			return ip6_fragment(skb, __xfrm6_output);
+	}
+	return __xfrm6_output(skb);
+}



^ permalink raw reply

* Re: [PATCH net-next-2.6 v9 01/20] pch_can: Add flow control processing
From: David Miller @ 2010-12-13 20:26 UTC (permalink / raw)
  To: tomoya-linux-ECg8zkTtlr0C6LszWs/t0g
  Cc: andrew.chih.howe.khor-ral2JQCrhuEAvxtiuMwx3w,
	sameo-VuQAYsv1563Yd54FQh9/CA,
	margie.foster-ral2JQCrhuEAvxtiuMwx3w,
	netdev-u79uwXL29TY76Z2rM5mHXA,
	linux-kernel-u79uwXL29TY76Z2rM5mHXA,
	socketcan-core-0fE9KPoRgkgATYTw5x5z8w,
	kok.howg.ewe-ral2JQCrhuEAvxtiuMwx3w, wg-5Yr1BZd7O62+XT7JhA+gdA,
	joel.clark-ral2JQCrhuEAvxtiuMwx3w,
	yong.y.wang-ral2JQCrhuEAvxtiuMwx3w, chripell-VaTbYqLCNhc,
	qi.wang-ral2JQCrhuEAvxtiuMwx3w
In-Reply-To: <1292221467-8039-1-git-send-email-tomoya-linux-ECg8zkTtlr0C6LszWs/t0g@public.gmane.org>

From: Tomoya MORINAGA <tomoya-linux-ECg8zkTtlr0C6LszWs/t0g@public.gmane.org>
Date: Mon, 13 Dec 2010 15:24:07 +0900

> Currently, there is no flow control processing.
> Thus, Add flow control processing as
> when there is no empty of tx buffer,
> netif_stop_queue is called.
> When there is empty buffer, netif_wake_queue is called.
> 
> Signed-off-by: Tomoya MORINAGA <tomoya-linux-ECg8zkTtlr0C6LszWs/t0g@public.gmane.org>

Applied.

^ permalink raw reply

* Re: [PATCH net-next-2.6 v9 02/20] pch_can: Divide poll function
From: David Miller @ 2010-12-13 20:26 UTC (permalink / raw)
  To: tomoya-linux-ECg8zkTtlr0C6LszWs/t0g
  Cc: andrew.chih.howe.khor-ral2JQCrhuEAvxtiuMwx3w,
	sameo-VuQAYsv1563Yd54FQh9/CA,
	margie.foster-ral2JQCrhuEAvxtiuMwx3w,
	netdev-u79uwXL29TY76Z2rM5mHXA,
	linux-kernel-u79uwXL29TY76Z2rM5mHXA,
	socketcan-core-0fE9KPoRgkgATYTw5x5z8w,
	kok.howg.ewe-ral2JQCrhuEAvxtiuMwx3w, wg-5Yr1BZd7O62+XT7JhA+gdA,
	joel.clark-ral2JQCrhuEAvxtiuMwx3w,
	yong.y.wang-ral2JQCrhuEAvxtiuMwx3w, chripell-VaTbYqLCNhc,
	qi.wang-ral2JQCrhuEAvxtiuMwx3w
In-Reply-To: <1292221467-8039-2-git-send-email-tomoya-linux-ECg8zkTtlr0C6LszWs/t0g@public.gmane.org>

From: Tomoya MORINAGA <tomoya-linux-ECg8zkTtlr0C6LszWs/t0g@public.gmane.org>
Date: Mon, 13 Dec 2010 15:24:08 +0900

> To easy to read/understand, divide poll function into two sub-functions.
> 
> Signed-off-by: Tomoya MORINAGA <tomoya-linux-ECg8zkTtlr0C6LszWs/t0g@public.gmane.org>

Applied.

^ permalink raw reply

* Re: [PATCH net-next-2.6 v9 03/20] pch_can: Fix endianness issue
From: David Miller @ 2010-12-13 20:26 UTC (permalink / raw)
  To: tomoya-linux-ECg8zkTtlr0C6LszWs/t0g
  Cc: andrew.chih.howe.khor-ral2JQCrhuEAvxtiuMwx3w,
	sameo-VuQAYsv1563Yd54FQh9/CA,
	margie.foster-ral2JQCrhuEAvxtiuMwx3w,
	netdev-u79uwXL29TY76Z2rM5mHXA,
	linux-kernel-u79uwXL29TY76Z2rM5mHXA,
	socketcan-core-0fE9KPoRgkgATYTw5x5z8w,
	kok.howg.ewe-ral2JQCrhuEAvxtiuMwx3w, wg-5Yr1BZd7O62+XT7JhA+gdA,
	joel.clark-ral2JQCrhuEAvxtiuMwx3w,
	yong.y.wang-ral2JQCrhuEAvxtiuMwx3w, chripell-VaTbYqLCNhc,
	qi.wang-ral2JQCrhuEAvxtiuMwx3w
In-Reply-To: <1292221467-8039-3-git-send-email-tomoya-linux-ECg8zkTtlr0C6LszWs/t0g@public.gmane.org>

From: Tomoya MORINAGA <tomoya-linux-ECg8zkTtlr0C6LszWs/t0g@public.gmane.org>
Date: Mon, 13 Dec 2010 15:24:09 +0900

> there is endianness issue both Tx and Rx.
> Currently, data is set like below.
> Register:
> MSB--LSB
> x x D0 D1
> x x D2 D3
> x x D4 D5
> x x D6 D7
> 
> But Data to be sent must be set like below.
> Register:
> MSB--LSB
> x x D1 D0
> x x D3 D2
> x x D5 D4
> x x D7 D6  (x means reserved area.)
> 
> Signed-off-by: Tomoya MORINAGA <tomoya-linux-ECg8zkTtlr0C6LszWs/t0g@public.gmane.org>

Applied.

^ permalink raw reply

* Re: [PATCH net-next-2.6 v9 04/20] pch_can: Improve rx processing
From: David Miller @ 2010-12-13 20:26 UTC (permalink / raw)
  To: tomoya-linux-ECg8zkTtlr0C6LszWs/t0g
  Cc: andrew.chih.howe.khor-ral2JQCrhuEAvxtiuMwx3w,
	sameo-VuQAYsv1563Yd54FQh9/CA,
	margie.foster-ral2JQCrhuEAvxtiuMwx3w,
	netdev-u79uwXL29TY76Z2rM5mHXA,
	linux-kernel-u79uwXL29TY76Z2rM5mHXA,
	socketcan-core-0fE9KPoRgkgATYTw5x5z8w,
	kok.howg.ewe-ral2JQCrhuEAvxtiuMwx3w, wg-5Yr1BZd7O62+XT7JhA+gdA,
	joel.clark-ral2JQCrhuEAvxtiuMwx3w,
	yong.y.wang-ral2JQCrhuEAvxtiuMwx3w, chripell-VaTbYqLCNhc,
	qi.wang-ral2JQCrhuEAvxtiuMwx3w
In-Reply-To: <1292221467-8039-4-git-send-email-tomoya-linux-ECg8zkTtlr0C6LszWs/t0g@public.gmane.org>

From: Tomoya MORINAGA <tomoya-linux-ECg8zkTtlr0C6LszWs/t0g@public.gmane.org>
Date: Mon, 13 Dec 2010 15:24:10 +0900

> Replace complex "goto" to "do~while".
> For easy to read/understand, it divides a rx function into some functions.
> 
> Signed-off-by: Tomoya MORINAGA <tomoya-linux-ECg8zkTtlr0C6LszWs/t0g@public.gmane.org>

Applied.

^ permalink raw reply

* Re: [PATCH net-next-2.6 v9 06/20] pch_can: Rename function/macro name
From: David Miller @ 2010-12-13 20:26 UTC (permalink / raw)
  To: tomoya-linux-ECg8zkTtlr0C6LszWs/t0g
  Cc: andrew.chih.howe.khor-ral2JQCrhuEAvxtiuMwx3w,
	sameo-VuQAYsv1563Yd54FQh9/CA,
	margie.foster-ral2JQCrhuEAvxtiuMwx3w,
	netdev-u79uwXL29TY76Z2rM5mHXA,
	linux-kernel-u79uwXL29TY76Z2rM5mHXA,
	socketcan-core-0fE9KPoRgkgATYTw5x5z8w,
	kok.howg.ewe-ral2JQCrhuEAvxtiuMwx3w, wg-5Yr1BZd7O62+XT7JhA+gdA,
	joel.clark-ral2JQCrhuEAvxtiuMwx3w,
	yong.y.wang-ral2JQCrhuEAvxtiuMwx3w, chripell-VaTbYqLCNhc,
	qi.wang-ral2JQCrhuEAvxtiuMwx3w
In-Reply-To: <1292221467-8039-6-git-send-email-tomoya-linux-ECg8zkTtlr0C6LszWs/t0g@public.gmane.org>

From: Tomoya MORINAGA <tomoya-linux-ECg8zkTtlr0C6LszWs/t0g@public.gmane.org>
Date: Mon, 13 Dec 2010 15:24:12 +0900

> For easy to read/understand, Rename function/macro name.
> 
> Signed-off-by: Tomoya MORINAGA <tomoya-linux-ECg8zkTtlr0C6LszWs/t0g@public.gmane.org>

Applied.

^ permalink raw reply


This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox