Netdev List
 help / color / mirror / Atom feed
* [PATCH 4/7] neigh: Do not set tbl->entry_size in ipv4/ipv6 neigh tables.
From: David Miller @ 2011-07-25 10:01 UTC (permalink / raw)
  To: roland; +Cc: linux-rdma, netdev


Let the core self-size the neigh entry based upon the key length.

Signed-off-by: David S. Miller <davem@davemloft.net>
---
 net/atm/clip.c   |    1 -
 net/ipv4/arp.c   |    1 -
 net/ipv6/ndisc.c |    1 -
 3 files changed, 0 insertions(+), 3 deletions(-)

diff --git a/net/atm/clip.c b/net/atm/clip.c
index 5dc4f4e..e19a0e7 100644
--- a/net/atm/clip.c
+++ b/net/atm/clip.c
@@ -315,7 +315,6 @@ static u32 clip_hash(const void *pkey, const struct net_device *dev, __u32 rnd)
 
 static struct neigh_table clip_tbl = {
 	.family 	= AF_INET,
-	.entry_size 	= sizeof(struct neighbour)+sizeof(struct atmarp_entry),
 	.key_len 	= 4,
 	.hash 		= clip_hash,
 	.constructor 	= clip_constructor,
diff --git a/net/ipv4/arp.c b/net/ipv4/arp.c
index 96a164a..43f0d15 100644
--- a/net/ipv4/arp.c
+++ b/net/ipv4/arp.c
@@ -164,7 +164,6 @@ static const struct neigh_ops arp_broken_ops = {
 
 struct neigh_table arp_tbl = {
 	.family		= AF_INET,
-	.entry_size	= sizeof(struct neighbour) + 4,
 	.key_len	= 4,
 	.hash		= arp_hash,
 	.constructor	= arp_constructor,
diff --git a/net/ipv6/ndisc.c b/net/ipv6/ndisc.c
index 9da6e02..2582431 100644
--- a/net/ipv6/ndisc.c
+++ b/net/ipv6/ndisc.c
@@ -126,7 +126,6 @@ static const struct neigh_ops ndisc_direct_ops = {
 
 struct neigh_table nd_tbl = {
 	.family =	AF_INET6,
-	.entry_size =	sizeof(struct neighbour) + sizeof(struct in6_addr),
 	.key_len =	sizeof(struct in6_addr),
 	.hash =		ndisc_hash,
 	.constructor =	ndisc_constructor,
-- 
1.7.6


^ permalink raw reply related

* [PATCH 2/7] neigh: Get rid of neigh_table->kmem_cachep
From: David Miller @ 2011-07-25 10:01 UTC (permalink / raw)
  To: roland; +Cc: linux-rdma, netdev


We are going to alloc for device specific private areas for
neighbour entries, and in order to do that we have to move
away from the fixed allocation size enforced by using
neigh_table->kmem_cachep

As a nice side effect we can now use kfree_rcu().

Signed-off-by: David S. Miller <davem@davemloft.net>
---
 include/net/neighbour.h |    1 -
 net/core/neighbour.c    |   18 ++----------------
 2 files changed, 2 insertions(+), 17 deletions(-)

diff --git a/include/net/neighbour.h b/include/net/neighbour.h
index 8ff9143..cd113ed 100644
--- a/include/net/neighbour.h
+++ b/include/net/neighbour.h
@@ -172,7 +172,6 @@ struct neigh_table {
 	atomic_t		entries;
 	rwlock_t		lock;
 	unsigned long		last_rand;
-	struct kmem_cache	*kmem_cachep;
 	struct neigh_statistics	__percpu *stats;
 	struct neigh_hash_table __rcu *nht;
 	struct pneigh_entry	**phash_buckets;
diff --git a/net/core/neighbour.c b/net/core/neighbour.c
index 8fab9b0..493703c 100644
--- a/net/core/neighbour.c
+++ b/net/core/neighbour.c
@@ -287,7 +287,7 @@ static struct neighbour *neigh_alloc(struct neigh_table *tbl)
 			goto out_entries;
 	}
 
-	n = kmem_cache_zalloc(tbl->kmem_cachep, GFP_ATOMIC);
+	n = kzalloc(tbl->entry_size, GFP_ATOMIC);
 	if (!n)
 		goto out_entries;
 
@@ -677,12 +677,6 @@ static inline void neigh_parms_put(struct neigh_parms *parms)
 		neigh_parms_destroy(parms);
 }
 
-static void neigh_destroy_rcu(struct rcu_head *head)
-{
-	struct neighbour *neigh = container_of(head, struct neighbour, rcu);
-
-	kmem_cache_free(neigh->tbl->kmem_cachep, neigh);
-}
 /*
  *	neighbour must already be out of the table;
  *
@@ -709,7 +703,7 @@ void neigh_destroy(struct neighbour *neigh)
 	NEIGH_PRINTK2("neigh %p is destroyed.\n", neigh);
 
 	atomic_dec(&neigh->tbl->entries);
-	call_rcu(&neigh->rcu, neigh_destroy_rcu);
+	kfree_rcu(neigh, rcu);
 }
 EXPORT_SYMBOL(neigh_destroy);
 
@@ -1461,11 +1455,6 @@ void neigh_table_init_no_netlink(struct neigh_table *tbl)
 	tbl->parms.reachable_time =
 			  neigh_rand_reach_time(tbl->parms.base_reachable_time);
 
-	if (!tbl->kmem_cachep)
-		tbl->kmem_cachep =
-			kmem_cache_create(tbl->id, tbl->entry_size, 0,
-					  SLAB_HWCACHE_ALIGN|SLAB_PANIC,
-					  NULL);
 	tbl->stats = alloc_percpu(struct neigh_statistics);
 	if (!tbl->stats)
 		panic("cannot create neighbour cache statistics");
@@ -1550,9 +1539,6 @@ int neigh_table_clear(struct neigh_table *tbl)
 	free_percpu(tbl->stats);
 	tbl->stats = NULL;
 
-	kmem_cache_destroy(tbl->kmem_cachep);
-	tbl->kmem_cachep = NULL;
-
 	return 0;
 }
 EXPORT_SYMBOL(neigh_table_clear);
-- 
1.7.6


^ permalink raw reply related

* [PATCH 0/7] More sane neigh infrastructure
From: David Miller @ 2011-07-25 10:01 UTC (permalink / raw)
  To: roland; +Cc: linux-rdma, netdev


Roland, this is a first pass at the kind of thing I was
talking about with you last week.

ATM and Infiniband both need to do their own kind of
signaling, either in place of (ATM) or in addition to
(IPoIB) the generic ARP negotiation.

ATM wants to push everything to a userspace atmarpd daemon,
and override all of the usual ARP signalling.  It replaces
the neigh_table used by ARP completely in order to accomplish
this.

IPoIB triggers it's signalling by hooking in at transmit time, and
adding a neigh parms destruction hook to free up and release it's
private per-neigh state.

I think both cases can be consolidated into one kind of scheme,
and these patches provide the infrastructure and convert ATM
over as an example.

Devices provide up to three things:

1) netdev->neighpriv_len, length of per-neighbour device private
   state, accessible via neighbour_priv(neigh)

2) net_device_ops->ndo_neigh_construct(), invoked right after
   neigh_tbl->constructor(), can fail

3) net_device_ops->ndo_neigh_destroy(), invoked right before
   we release neigh->parms and kfree_rcu() the neigh object.
   It could return errors but I'm not checking for them
   currently and I can't think what we could possibly do
   in response at this point in the code.  Maybe this gets
   changed to return "void" eventually.

As a result ATM CLIP no longer overrides the IPV4 ARP table, and
I'm convinced IPoIB could behave similarly, override the
neigh_ops in a device neigh constructor, and avoid all of the
hooks at transmit time and instead trigger the key signalling
at neigh->output and friends.

If IPoIB can get converted to this new stuff, then we can get
rid of the ->ndo_neigh_setup() netdev op which only exists to
facilitate IPoIB hooking in a destructor for it's neigh state.

^ permalink raw reply

* Re: [PATCH net-next] skbuff: clear tx zero-copy flag
From: David Miller @ 2011-07-25 10:02 UTC (permalink / raw)
  To: herbert; +Cc: mst, mashirle, netdev, kvm, linux-kernel
In-Reply-To: <20110725095711.GA30831@gondor.apana.org.au>

From: Herbert Xu <herbert@gondor.hengli.com.au>
Date: Mon, 25 Jul 2011 17:57:11 +0800

> However, I think we should add a WARN_ON to the splice skb path
> so that should a packet find its way through a path that we haven't
> thought of then at least we'll know about it.

Good idea.

^ permalink raw reply

* [PATCH 6/7] neigh: Add device constructor/destructor capability.
From: David Miller @ 2011-07-25 10:01 UTC (permalink / raw)
  To: roland-DgEjT+Ai2ygdnm+yROfE0A
  Cc: linux-rdma-u79uwXL29TY76Z2rM5mHXA, netdev-u79uwXL29TY76Z2rM5mHXA


If the neigh entry has device private state, it will need
constructor/destructor ops.

Signed-off-by: David S. Miller <davem-fT/PcQaiUtIeIZ0/mPfg9Q@public.gmane.org>
---
 include/linux/netdevice.h |    2 ++
 net/core/neighbour.c      |   15 ++++++++++++++-
 2 files changed, 16 insertions(+), 1 deletions(-)

diff --git a/include/linux/netdevice.h b/include/linux/netdevice.h
index a50f6d6..016bb4e 100644
--- a/include/linux/netdevice.h
+++ b/include/linux/netdevice.h
@@ -943,6 +943,8 @@ struct net_device_ops {
 						    u32 features);
 	int			(*ndo_set_features)(struct net_device *dev,
 						    u32 features);
+	int			(*ndo_neigh_construct)(struct neighbour *n);
+	int			(*ndo_neigh_destroy)(struct neighbour *n);
 };
 
 /*
diff --git a/net/core/neighbour.c b/net/core/neighbour.c
index 96ae4e4..ee5ce7e 100644
--- a/net/core/neighbour.c
+++ b/net/core/neighbour.c
@@ -488,6 +488,14 @@ struct neighbour *neigh_create(struct neigh_table *tbl, const void *pkey,
 		goto out_neigh_release;
 	}
 
+	if (dev->netdev_ops->ndo_neigh_construct) {
+		error = dev->netdev_ops->ndo_neigh_construct(n);
+		if (error < 0) {
+			rc = ERR_PTR(error);
+			goto out_neigh_release;
+		}
+	}
+
 	/* Device specific setup. */
 	if (n->parms->neigh_setup &&
 	    (error = n->parms->neigh_setup(n)) < 0) {
@@ -691,6 +699,8 @@ static inline void neigh_parms_put(struct neigh_parms *parms)
  */
 void neigh_destroy(struct neighbour *neigh)
 {
+	struct net_device *dev = neigh->dev;
+
 	NEIGH_CACHE_STAT_INC(neigh->tbl, destroys);
 
 	if (!neigh->dead) {
@@ -705,7 +715,10 @@ void neigh_destroy(struct neighbour *neigh)
 
 	skb_queue_purge(&neigh->arp_queue);
 
-	dev_put(neigh->dev);
+	if (dev->netdev_ops->ndo_neigh_destroy)
+		dev->netdev_ops->ndo_neigh_destroy(neigh);
+
+	dev_put(dev);
 	neigh_parms_put(neigh->parms);
 
 	NEIGH_PRINTK2("neigh %p is destroyed.\n", neigh);
-- 
1.7.6

--
To unsubscribe from this list: send the line "unsubscribe linux-rdma" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

^ permalink raw reply related

* [PATCH 3/7] neigh: Add infrastructure for allocating device neigh privates.
From: David Miller @ 2011-07-25 10:01 UTC (permalink / raw)
  To: roland-DgEjT+Ai2ygdnm+yROfE0A
  Cc: linux-rdma-u79uwXL29TY76Z2rM5mHXA, netdev-u79uwXL29TY76Z2rM5mHXA


netdev->neigh_priv_len records the private area length.

This will trigger for neigh_table objects which set tbl->entry_size
to zero, and the first instances of this will be forthcoming.

Signed-off-by: David S. Miller <davem-fT/PcQaiUtIeIZ0/mPfg9Q@public.gmane.org>
---
 drivers/infiniband/ulp/ipoib/ipoib_main.c |    2 ++
 include/linux/netdevice.h                 |    1 +
 net/atm/clip.c                            |    1 +
 net/core/neighbour.c                      |   14 +++++++++++---
 4 files changed, 15 insertions(+), 3 deletions(-)

diff --git a/drivers/infiniband/ulp/ipoib/ipoib_main.c b/drivers/infiniband/ulp/ipoib/ipoib_main.c
index 43f89ba..7b96105 100644
--- a/drivers/infiniband/ulp/ipoib/ipoib_main.c
+++ b/drivers/infiniband/ulp/ipoib/ipoib_main.c
@@ -1216,6 +1216,8 @@ static struct net_device *ipoib_add_port(const char *format,
 	priv->dev->mtu  = IPOIB_UD_MTU(priv->max_ib_mtu);
 	priv->mcast_mtu  = priv->admin_mtu = priv->dev->mtu;
 
+	priv->dev->neigh_priv_len = sizeof(struct ipoib_neigh);
+
 	result = ib_query_pkey(hca, port, 0, &priv->pkey);
 	if (result) {
 		printk(KERN_WARNING "%s: ib_query_pkey port %d failed (ret = %d)\n",
diff --git a/include/linux/netdevice.h b/include/linux/netdevice.h
index 34f3abc..a50f6d6 100644
--- a/include/linux/netdevice.h
+++ b/include/linux/netdevice.h
@@ -1127,6 +1127,7 @@ struct net_device {
 	unsigned char		perm_addr[MAX_ADDR_LEN]; /* permanent hw address */
 	unsigned char		addr_assign_type; /* hw address assignment type */
 	unsigned char		addr_len;	/* hardware address length	*/
+	unsigned char		neigh_priv_len;
 	unsigned short          dev_id;		/* for shared network cards */
 
 	spinlock_t		addr_list_lock;
diff --git a/net/atm/clip.c b/net/atm/clip.c
index 4bc8c67..5dc4f4e 100644
--- a/net/atm/clip.c
+++ b/net/atm/clip.c
@@ -551,6 +551,7 @@ static void clip_setup(struct net_device *dev)
 {
 	dev->netdev_ops = &clip_netdev_ops;
 	dev->type = ARPHRD_ATM;
+	dev->neigh_priv_len = sizeof(struct atmarp_entry);
 	dev->hard_header_len = RFC1483LLC_LEN;
 	dev->mtu = RFC1626_MTU;
 	dev->tx_queue_len = 100;	/* "normal" queue (packets) */
diff --git a/net/core/neighbour.c b/net/core/neighbour.c
index 493703c..96ae4e4 100644
--- a/net/core/neighbour.c
+++ b/net/core/neighbour.c
@@ -272,7 +272,7 @@ int neigh_ifdown(struct neigh_table *tbl, struct net_device *dev)
 }
 EXPORT_SYMBOL(neigh_ifdown);
 
-static struct neighbour *neigh_alloc(struct neigh_table *tbl)
+static struct neighbour *neigh_alloc(struct neigh_table *tbl, struct net_device *dev)
 {
 	struct neighbour *n = NULL;
 	unsigned long now = jiffies;
@@ -287,7 +287,15 @@ static struct neighbour *neigh_alloc(struct neigh_table *tbl)
 			goto out_entries;
 	}
 
-	n = kzalloc(tbl->entry_size, GFP_ATOMIC);
+	if (tbl->entry_size)
+		n = kzalloc(tbl->entry_size, GFP_ATOMIC);
+	else {
+		int sz = sizeof(*n) + tbl->key_len;
+
+		sz = ALIGN(sz, NEIGH_PRIV_ALIGN);
+		sz += dev->neigh_priv_len;
+		n = kzalloc(sz, GFP_ATOMIC);
+	}
 	if (!n)
 		goto out_entries;
 
@@ -462,7 +470,7 @@ struct neighbour *neigh_create(struct neigh_table *tbl, const void *pkey,
 	u32 hash_val;
 	int key_len = tbl->key_len;
 	int error;
-	struct neighbour *n1, *rc, *n = neigh_alloc(tbl);
+	struct neighbour *n1, *rc, *n = neigh_alloc(tbl, dev);
 	struct neigh_hash_table *nht;
 
 	if (!n) {
-- 
1.7.6

--
To unsubscribe from this list: send the line "unsubscribe linux-rdma" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

^ permalink raw reply related

* [PATCH 1/7] neigh: Create mechanism for generic neigh private areas.
From: David Miller @ 2011-07-25 10:01 UTC (permalink / raw)
  To: roland-DgEjT+Ai2ygdnm+yROfE0A
  Cc: linux-rdma-u79uwXL29TY76Z2rM5mHXA, netdev-u79uwXL29TY76Z2rM5mHXA


The implementation private sits right after the primary_key memory.

Signed-off-by: David S. Miller <davem-fT/PcQaiUtIeIZ0/mPfg9Q@public.gmane.org>
---
 include/net/neighbour.h |    7 +++++++
 1 files changed, 7 insertions(+), 0 deletions(-)

diff --git a/include/net/neighbour.h b/include/net/neighbour.h
index 4ba8521..8ff9143 100644
--- a/include/net/neighbour.h
+++ b/include/net/neighbour.h
@@ -178,6 +178,13 @@ struct neigh_table {
 	struct pneigh_entry	**phash_buckets;
 };
 
+#define NEIGH_PRIV_ALIGN	sizeof(long long)
+
+static inline void *neighbour_priv(const struct neighbour *n)
+{
+	return (char *)n + ALIGN(sizeof(*n) + n->tbl->key_len, NEIGH_PRIV_ALIGN);
+}
+
 /* flags for neigh_update() */
 #define NEIGH_UPDATE_F_OVERRIDE			0x00000001
 #define NEIGH_UPDATE_F_WEAK_OVERRIDE		0x00000002
-- 
1.7.6

--
To unsubscribe from this list: send the line "unsubscribe linux-rdma" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

^ permalink raw reply related

* Re: [PATCH net-next] skbuff: clear tx zero-copy flag
From: Herbert Xu @ 2011-07-25  9:57 UTC (permalink / raw)
  To: Michael S. Tsirkin; +Cc: Shirley Ma, davem, netdev, kvm, linux-kernel
In-Reply-To: <20110725094414.GA11776@redhat.com>

On Mon, Jul 25, 2011 at 12:44:14PM +0300, Michael S. Tsirkin wrote:
>
> if yes that seems to always clone an skb, which in turn
> does the copy so we are fine?

Yes you're right, it should be safe.

However, I think we should add a WARN_ON to the splice skb path
so that should a packet find its way through a path that we haven't
thought of then at least we'll know about it.

Thanks,
-- 
Email: Herbert Xu <herbert@gondor.apana.org.au>
Home Page: http://gondor.apana.org.au/~herbert/
PGP Key: http://gondor.apana.org.au/~herbert/pubkey.txt

^ permalink raw reply

* Re: [PATCH net-next] skbuff: clear tx zero-copy flag
From: Michael S. Tsirkin @ 2011-07-25  9:44 UTC (permalink / raw)
  To: Herbert Xu; +Cc: Shirley Ma, davem, netdev, kvm, linux-kernel
In-Reply-To: <20110725084057.GA30311@gondor.apana.org.au>

On Mon, Jul 25, 2011 at 04:40:57PM +0800, Herbert Xu wrote:
> On Mon, Jul 25, 2011 at 11:07:43AM +0300, Michael S. Tsirkin wrote:
> >
> > However macvtap passes an skb directly to the
> > lower device, so as long as macvtap is the only user
> > of that interface, we are fine I think - there's
> > no way for an skb to get from macvtap to splice
> > read path I think.
> > 
> > Right?
> 
> Yes, as long as you can guarantee that the skb never loops back
> then you should be fine.
> 
> However, does macvtap really bypass everything, including the
> qdisc layer? The qdisc layer is certainly capable of looping
> the skb back with the redirect action.
> 
> Cheers,

No, I don't think macvtap bypasses the qdisc.
Is the action in question here?
static int tcf_mirred(struct sk_buff *skb,
			const struct tc_action *a,
                      struct tcf_result *res)

if yes that seems to always clone an skb, which in turn
does the copy so we are fine?

> -- 
> Email: Herbert Xu <herbert@gondor.apana.org.au>
> Home Page: http://gondor.apana.org.au/~herbert/
> PGP Key: http://gondor.apana.org.au/~herbert/pubkey.txt

^ permalink raw reply

* [PATCH] net/smsc911x: add device tree probe support
From: Shawn Guo @ 2011-07-25  9:44 UTC (permalink / raw)
  To: netdev
  Cc: devicetree-discuss, linux-arm-kernel, patches, Shawn Guo,
	Grant Likely, Steve Glendinning, David S. Miller

It adds device tree probe support for smsc911x driver.

Signed-off-by: Shawn Guo <shawn.guo@linaro.org>
Cc: Grant Likely <grant.likely@secretlab.ca>
Cc: Steve Glendinning <steve.glendinning@smsc.com>
Cc: David S. Miller <davem@davemloft.net>
---
 Documentation/devicetree/bindings/net/smsc.txt |   34 +++++++
 drivers/net/smsc911x.c                         |  123 +++++++++++++++++++-----
 2 files changed, 132 insertions(+), 25 deletions(-)
 create mode 100644 Documentation/devicetree/bindings/net/smsc.txt

diff --git a/Documentation/devicetree/bindings/net/smsc.txt b/Documentation/devicetree/bindings/net/smsc.txt
new file mode 100644
index 0000000..1920695
--- /dev/null
+++ b/Documentation/devicetree/bindings/net/smsc.txt
@@ -0,0 +1,34 @@
+* Smart Mixed-Signal Connectivity (SMSC) LAN Controller
+
+Required properties:
+- compatible : Should be "smsc,lan<model>""smsc,lan"
+- reg : Address and length of the io space for SMSC LAN
+- smsc-int-gpios : Should specify the GPIO for SMSC LAN interrupt line
+- phy-mode : String, operation mode of the PHY interface.
+  Supported values are: "mii", "gmii", "sgmii", "tbi", "rmii",
+  "rgmii", "rgmii-id", "rgmii-rxid", "rgmii-txid", "rtbi", "smii".
+
+Optional properties:
+- smsc,irq-active-high : Indicates the IRQ polarity is active-low
+- smsc,irq-push-pull : Indicates the IRQ type is push-pull
+- smsc,register-needs-shift : Indicates the register access needs shift
+- smsc,access-in-32bit : Indicates the access to controller is in 32-bit
+  mode
+- smsc,force-internal-phy : Forces SMSC LAN controller to use
+  internal PHY
+- smsc,force-external-phy : Forces SMSC LAN controller to use
+  external PHY
+- smsc,save-mac-address : Indicates that mac address needs to be saved
+  before resetting the controller
+- local-mac-address : 6 bytes, mac address
+
+Examples:
+
+lan9220@f4000000 {
+	compatible = "smsc,lan9220", "smsc,lan";
+	reg = <0xf4000000 0x2000000>;
+	phy-mode = "mii";
+	smsc-int-gpios = <&gpio1 31 0>; /* GPIO2_31 */
+	smsc,irq-push-pull;
+	smsc,access-in-32bit;
+};
diff --git a/drivers/net/smsc911x.c b/drivers/net/smsc911x.c
index b9016a3..0097048 100644
--- a/drivers/net/smsc911x.c
+++ b/drivers/net/smsc911x.c
@@ -53,6 +53,10 @@
 #include <linux/phy.h>
 #include <linux/smsc911x.h>
 #include <linux/device.h>
+#include <linux/of.h>
+#include <linux/of_device.h>
+#include <linux/of_gpio.h>
+#include <linux/of_net.h>
 #include "smsc911x.h"
 
 #define SMSC_CHIPNAME		"smsc911x"
@@ -2095,25 +2099,67 @@ static const struct smsc911x_ops shifted_smsc911x_ops = {
 	.tx_writefifo = smsc911x_tx_writefifo_shift,
 };
 
+#ifdef CONFIG_OF
+static int __devinit smsc911x_probe_config_dt(
+				struct smsc911x_platform_config *config,
+				struct device_node *np)
+{
+	const char *mac;
+
+	if (!np)
+		return -ENODEV;
+
+	config->phy_interface = of_get_phy_mode(np);
+
+	mac = of_get_mac_address(np);
+	if (mac)
+		memcpy(config->mac, mac, ETH_ALEN);
+
+	if (of_get_property(np, "smsc,irq-active-high", NULL))
+		config->irq_polarity = SMSC911X_IRQ_POLARITY_ACTIVE_HIGH;
+
+	if (of_get_property(np, "smsc,irq-push-pull", NULL))
+		config->irq_type = SMSC911X_IRQ_TYPE_PUSH_PULL;
+
+	if (of_get_property(np, "smsc,register-needs-shift", NULL))
+		config->shift = 1;
+
+	if (of_get_property(np, "smsc,access-in-32bit", NULL))
+		config->flags |= SMSC911X_USE_32BIT;
+
+	if (of_get_property(np, "smsc,force-internal-phy", NULL))
+		config->flags |= SMSC911X_FORCE_INTERNAL_PHY;
+
+	if (of_get_property(np, "smsc,force-external-phy", NULL))
+		config->flags |= SMSC911X_FORCE_EXTERNAL_PHY;
+
+	if (of_get_property(np, "smsc,save-mac-address", NULL))
+		config->flags |= SMSC911X_SAVE_MAC_ADDRESS;
+
+	return 0;
+}
+#else
+static inline int smsc911x_probe_config_dt(
+				struct smsc911x_platform_config *config,
+				struct device_node *np)
+{
+	return -ENODEV;
+}
+#endif /* CONFIG_OF */
+
 static int __devinit smsc911x_drv_probe(struct platform_device *pdev)
 {
+	struct device_node *np = pdev->dev.of_node;
 	struct net_device *dev;
 	struct smsc911x_data *pdata;
 	struct smsc911x_platform_config *config = pdev->dev.platform_data;
 	struct resource *res, *irq_res;
 	unsigned int intcfg = 0;
-	int res_size, irq_flags;
-	int retval;
+	int irq_gpio, res_size, irq_flags = 0;
+	int retval = 0;
 
 	pr_info("Driver version %s\n", SMSC_DRV_VERSION);
 
-	/* platform data specifies irq & dynamic bus configuration */
-	if (!pdev->dev.platform_data) {
-		pr_warn("platform_data not provided\n");
-		retval = -ENODEV;
-		goto out_0;
-	}
-
 	res = platform_get_resource_byname(pdev, IORESOURCE_MEM,
 					   "smsc911x-memory");
 	if (!res)
@@ -2125,13 +2171,6 @@ static int __devinit smsc911x_drv_probe(struct platform_device *pdev)
 	}
 	res_size = resource_size(res);
 
-	irq_res = platform_get_resource(pdev, IORESOURCE_IRQ, 0);
-	if (!irq_res) {
-		pr_warn("Could not allocate irq resource\n");
-		retval = -ENODEV;
-		goto out_0;
-	}
-
 	if (!request_mem_region(res->start, res_size, SMSC_CHIPNAME)) {
 		retval = -EBUSY;
 		goto out_0;
@@ -2148,26 +2187,53 @@ static int __devinit smsc911x_drv_probe(struct platform_device *pdev)
 
 	pdata = netdev_priv(dev);
 
-	dev->irq = irq_res->start;
-	irq_flags = irq_res->flags & IRQF_TRIGGER_MASK;
-	pdata->ioaddr = ioremap_nocache(res->start, res_size);
-
-	/* copy config parameters across to pdata */
-	memcpy(&pdata->config, config, sizeof(pdata->config));
+	if (np) {
+		irq_gpio = of_get_named_gpio(np, "smsc-int-gpios", 0);
+		retval = gpio_request_one(irq_gpio, GPIOF_IN, "smsc-int-gpio");
+		if (!retval)
+			dev->irq = gpio_to_irq(irq_gpio);
+	} else {
+		irq_res = platform_get_resource(pdev, IORESOURCE_IRQ, 0);
+		if (irq_res) {
+			dev->irq = irq_res->start;
+			irq_flags = irq_res->flags & IRQF_TRIGGER_MASK;
+		} else {
+			retval = -ENODEV;
+		}
+	}
 
-	pdata->dev = dev;
-	pdata->msg_enable = ((1 << debug) - 1);
+	if (retval) {
+		SMSC_WARN(pdata, probe, "Error smsc911x irq not found");
+		retval = -EINVAL;
+		goto out_free_netdev_2;
+	}
 
+	pdata->ioaddr = ioremap_nocache(res->start, res_size);
 	if (pdata->ioaddr == NULL) {
 		SMSC_WARN(pdata, probe, "Error smsc911x base address invalid");
 		retval = -ENOMEM;
 		goto out_free_netdev_2;
 	}
 
+	pdata->dev = dev;
+	pdata->msg_enable = ((1 << debug) - 1);
+
+	retval = smsc911x_probe_config_dt(&pdata->config, np);
+	if (retval && config) {
+		/* copy config parameters across to pdata */
+		memcpy(&pdata->config, config, sizeof(pdata->config));
+		retval = 0;
+	}
+
+	if (retval) {
+		SMSC_WARN(pdata, probe, "Error smsc911x config not found");
+		goto out_unmap_io_3;
+	}
+
 	/* assume standard, non-shifted, access to HW registers */
 	pdata->ops = &standard_smsc911x_ops;
 	/* apply the right access if shifting is needed */
-	if (config->shift)
+	if (pdata->config.shift)
 		pdata->ops = &shifted_smsc911x_ops;
 
 	retval = smsc911x_init(dev);
@@ -2314,6 +2380,12 @@ static const struct dev_pm_ops smsc911x_pm_ops = {
 #define SMSC911X_PM_OPS NULL
 #endif
 
+static const struct of_device_id smsc_dt_ids[] = {
+	{ .compatible = "smsc,lan", },
+	{ /* sentinel */ }
+};
+MODULE_DEVICE_TABLE(of, smsc_dt_ids);
+
 static struct platform_driver smsc911x_driver = {
 	.probe = smsc911x_drv_probe,
 	.remove = __devexit_p(smsc911x_drv_remove),
@@ -2321,6 +2393,7 @@ static struct platform_driver smsc911x_driver = {
 		.name	= SMSC_CHIPNAME,
 		.owner	= THIS_MODULE,
 		.pm	= SMSC911X_PM_OPS,
+		.of_match_table = smsc_dt_ids,
 	},
 };
 
-- 
1.7.4.1



^ permalink raw reply related

* Re: [PATCH net-next] skbuff: clear tx zero-copy flag
From: Herbert Xu @ 2011-07-25  8:40 UTC (permalink / raw)
  To: Michael S. Tsirkin; +Cc: Shirley Ma, davem, netdev, kvm, linux-kernel
In-Reply-To: <20110725080743.GC7840@redhat.com>

On Mon, Jul 25, 2011 at 11:07:43AM +0300, Michael S. Tsirkin wrote:
>
> However macvtap passes an skb directly to the
> lower device, so as long as macvtap is the only user
> of that interface, we are fine I think - there's
> no way for an skb to get from macvtap to splice
> read path I think.
> 
> Right?

Yes, as long as you can guarantee that the skb never loops back
then you should be fine.

However, does macvtap really bypass everything, including the
qdisc layer? The qdisc layer is certainly capable of looping
the skb back with the redirect action.

Cheers,
-- 
Email: Herbert Xu <herbert@gondor.apana.org.au>
Home Page: http://gondor.apana.org.au/~herbert/
PGP Key: http://gondor.apana.org.au/~herbert/pubkey.txt

^ permalink raw reply

* Re: [PATCH net-next] skbuff: clear tx zero-copy flag
From: Michael S. Tsirkin @ 2011-07-25  8:07 UTC (permalink / raw)
  To: Herbert Xu; +Cc: Shirley Ma, davem, netdev, kvm, linux-kernel
In-Reply-To: <20110725004200.GA25794@gondor.apana.org.au>

On Mon, Jul 25, 2011 at 08:42:00AM +0800, Herbert Xu wrote:
> Shirley Ma <mashirle@us.ibm.com> wrote:
> > 
> > This patch clears tx zero-copy flag as needed.
> > 
> > Sign-off-by: Shirley Ma <xma@us.ibm.com>
> 
> I think we also need to copy and clear this flag on the splice
> read path as that takes a direct page reference.
> 
> I hope there isn't any other path that does this.
> 
> Cheers,

When there's a way for an skb to get into the
host networking stack, (e.g. when tap gains zero copy
support) we'll need to handle that.

However macvtap passes an skb directly to the
lower device, so as long as macvtap is the only user
of that interface, we are fine I think - there's
no way for an skb to get from macvtap to splice
read path I think.

Right?

> -- 
> Email: Herbert Xu <herbert@gondor.apana.org.au>
> Home Page: http://gondor.apana.org.au/~herbert/
> PGP Key: http://gondor.apana.org.au/~herbert/pubkey.txt

^ permalink raw reply

* [PATCH] Fix little error for the man page of 'ip link'
From: Bin Li @ 2011-07-25  6:34 UTC (permalink / raw)
  To: netdev

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

Hi,

The original patch could found here.

http://git.kernel.org/?p=linux/kernel/git/shemminger/iproute2.git;a=commitdiff;h=df33d7a489e13b69caa8b55064e01e99bdabef15

And the below trunk shouldn't be delete. The correct should be "ip
link set DEVICE { .. | .. | ..}" instead of "ip link set DEVICE { .. |
.. | .."

-------------------------------------------------------------------
@@ -68,8 +96,6 @@ ip \- show / manipulate routing, devices, policy
routing and tunnels
 .IR VLAN-QOS " ] ] ["
 .B rate
 .IR TXRATE " ]"
-.BR " }"
-

 .ti -8
 .B ip link show
-------------------------------------------------------------------

Please my patch in the attachment or below. Just add it back. Thanks!

-------------------------------------------------------------------
Index: iproute2/man/man8/ip.8
===================================================================
--- iproute2.orig/man/man8/ip.8
+++ iproute2/man/man8/ip.8
@@ -106,6 +106,8 @@ ip \- show / manipulate routing, devices
 .IR DEVICE
 .br
 .B nomaster
+.BR " }"
+

 .ti -8
 .B ip link show
-------------------------------------------------------------------

Sincerely Yours,

Bin Li

http://zh.opensuse.org

[-- Attachment #2: ip_link_set_man.patch --]
[-- Type: text/x-patch, Size: 287 bytes --]

Index: iproute2/man/man8/ip.8
===================================================================
--- iproute2.orig/man/man8/ip.8
+++ iproute2/man/man8/ip.8
@@ -106,6 +106,8 @@ ip \- show / manipulate routing, devices
 .IR DEVICE
 .br
 .B nomaster
+.BR " }"
+
 
 .ti -8
 .B ip link show

^ permalink raw reply

* Re: IPv6: autoconfiguration and suspend/resume or link down/up
From: Herbert Xu @ 2011-07-25  3:46 UTC (permalink / raw)
  To: Stephen Hemminger; +Cc: Nicolas de Pesloüan, David Miller, jbohac, netdev
In-Reply-To: <20110724202620.1456e742@nehalam.ftrdhcpuser.net>

On Sun, Jul 24, 2011 at 08:26:20PM -0700, Stephen Hemminger wrote:
>
> Since virtual machines should be using virtio network devices, shouldn't
> the suspend/resume in that device just work. It doesn't need to drop the link.

The VM may also be using SRIOV.

Cheers,
-- 
Email: Herbert Xu <herbert@gondor.apana.org.au>
Home Page: http://gondor.apana.org.au/~herbert/
PGP Key: http://gondor.apana.org.au/~herbert/pubkey.txt

^ permalink raw reply

* Re: IPv6: autoconfiguration and suspend/resume or link down/up
From: Stephen Hemminger @ 2011-07-25  3:26 UTC (permalink / raw)
  To: Nicolas de Pesloüan; +Cc: Herbert Xu, David Miller, jbohac, netdev
In-Reply-To: <4E2BD96E.4090101@gmail.com>

On Sun, 24 Jul 2011 10:35:58 +0200
Nicolas de Pesloüan <nicolas.2p.debian@gmail.com> wrote:

> Le 24/07/2011 02:18, Herbert Xu a écrit :
> > On Sat, Jul 23, 2011 at 09:37:43AM -0700, Stephen Hemminger wrote:
> >>
> >> Would it be possible to do live migration without dropping carrier
> >> or setting interface down?
> >
> > I think LM uses the same mechanism as suspend and resume so whatever
> > happens in one case will happen in the other case as well.
> 
> So we need to distinguish between two kind of link events:
> 
> 1/ Really having the link goes down then up. This should trigger a renegotiation.
> 
> 2/ Having the system suspend then resume :
> 2a/ This should trigger link down/link up events to force a renegotiation, for normal suspend/resume 
> where the network might have changed between suspend and resume.
> 2/ This should *not* trigger link down/link up events to avoid a renegotiation (for live migration) 
> because it is assumed that the network didn't change while suspended.
> 
> Can't we allow the user to set a global "link-down-link-up-timeout" and only force a renegotiation 
> if the time between link down and link up events is longer than this timeout? Normal user would set 
> this timeout close to 0 (default value). Live migration user would set this timeout to about twice 
> the time it normally takes to do a live migration. That way, in a VM environment, if the 
> suspend/resume cycle happens to take far more than a normal live migration time, the kernel would 
> renegotiate, which sounds reasonable, from my point of view.

I hate building infrastructure where it is not needed.

Since virtual machines should be using virtio network devices, shouldn't
the suspend/resume in that device just work. It doesn't need to drop the link.




^ permalink raw reply

* Re: [PATCH net-next] skbuff: clear tx zero-copy flag
From: Herbert Xu @ 2011-07-25  0:42 UTC (permalink / raw)
  To: Shirley Ma; +Cc: davem, mst, netdev, kvm, linux-kernel
In-Reply-To: <1310195566.25391.6.camel@localhost.localdomain>

Shirley Ma <mashirle@us.ibm.com> wrote:
> 
> This patch clears tx zero-copy flag as needed.
> 
> Sign-off-by: Shirley Ma <xma@us.ibm.com>

I think we also need to copy and clear this flag on the splice
read path as that takes a direct page reference.

I hope there isn't any other path that does this.

Cheers,
-- 
Email: Herbert Xu <herbert@gondor.apana.org.au>
Home Page: http://gondor.apana.org.au/~herbert/
PGP Key: http://gondor.apana.org.au/~herbert/pubkey.txt

^ permalink raw reply

* [PATCH 1/1] IPv4: Send gratuitous ARP for secondary IP addresses also
From: Zoltan, Kiss @ 2011-07-24 23:09 UTC (permalink / raw)
  To: David S. Miller, Alexey Kuznetsov, Pekka Savola, James Morris,
	Hideaki YOSHIFUJI
  Cc: linux-kernel, Zoltan Kiss

From: Zoltan Kiss <schaman@sch.bme.hu>

If a device event generates gratuitous ARP messages, only primary
address is used for sending. This patch iterates through the whole
list. Tested with 2 IP addresses configuration on bonding interface.

Signed-off-by: Zoltan Kiss <schaman@sch.bme.hu>
---
 net/ipv4/devinet.c |   16 ++++++++--------
 1 files changed, 8 insertions(+), 8 deletions(-)

diff --git a/net/ipv4/devinet.c b/net/ipv4/devinet.c
index 37b3c18..bc19bd0 100644
--- a/net/ipv4/devinet.c
+++ b/net/ipv4/devinet.c
@@ -1134,15 +1134,15 @@ static void inetdev_send_gratuitous_arp(struct net_device *dev,
 					struct in_device *in_dev)
 
 {
-	struct in_ifaddr *ifa = in_dev->ifa_list;
-
-	if (!ifa)
-		return;
+	struct in_ifaddr *ifa;
 
-	arp_send(ARPOP_REQUEST, ETH_P_ARP,
-		 ifa->ifa_local, dev,
-		 ifa->ifa_local, NULL,
-		 dev->dev_addr, NULL);
+	for (ifa = in_dev->ifa_list; ifa;
+	     ifa = ifa->ifa_next) {
+		arp_send(ARPOP_REQUEST, ETH_P_ARP,
+			 ifa->ifa_local, dev,
+			 ifa->ifa_local, NULL,
+			 dev->dev_addr, NULL);
+	}
 }
 
 /* Called only under RTNL semaphore */
-- 
1.7.4.1


^ permalink raw reply related

* Re: Linux Kernel | Intel Driver Bug - please update
From: Nicolás Sigal | LocalHost Soluciones Innovadoras @ 2011-07-24 23:21 UTC (permalink / raw)
  To: jeffrey.t.kirsher
  Cc: kristoffer, Brandeburg, Jesse, Allan, Bruce W, Ronciak, John,
	netdev
In-Reply-To: <1311547638.2835.72.camel@jtkirshe-mobl>

really really thanks Jeff!

we are fighting to this problem for a long time with the intel executive 
series motherboards with amt that are failing for this bug in the driver..

Regards;

.................................................
Nicolás Sigal
CEO :: LocalHost Soluciones Innovadoras
Mendoza 2917 :: C1428DKY
Ciudad Autónoma de Buenos Aires :: Argentina
Tel/Fax: 0810 55 LOCALHOST :: (011) 4784.6993
http://www.localhost.net.ar/
nicolas.sigal@localhost.net.ar



----- Original Message ----- 
From: "Jeff Kirsher" <jeffrey.t.kirsher@intel.com>
To: "Nicolás Sigal | LocalHost Soluciones Innovadoras" 
<nicolas.sigal@localhost.net.ar>
Cc: <kristoffer@gaisler.com>; "Brandeburg, Jesse" 
<jesse.brandeburg@intel.com>; "Allan, Bruce W" <bruce.w.allan@intel.com>; 
"Ronciak, John" <john.ronciak@intel.com>; <support@localhost.net.ar>; 
"netdev" <netdev@vger.kernel.org>
Sent: Sunday, July 24, 2011 7:47 PM
Subject: Re: Linux Kernel | Intel Driver Bug - please update



^ permalink raw reply

* Re: [PATCH] iwlagn: wrap suspend/resume definitions in CONFIG_PM block
From: Guy, Wey-Yi @ 2011-07-24 23:01 UTC (permalink / raw)
  To: John W. Linville
  Cc: David Miller, Berg, Johannes,
	linux-wireless-u79uwXL29TY76Z2rM5mHXA@public.gmane.org,
	netdev-u79uwXL29TY76Z2rM5mHXA@public.gmane.org,
	linux-kernel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
In-Reply-To: <20110724203956.GA29630-2XuSBdqkA4R54TAoqtyWWQ@public.gmane.org>

On Sun, 2011-07-24 at 13:39 -0700, John W. Linville wrote:
> On Sun, Jul 24, 2011 at 01:08:40PM -0700, David Miller wrote:
> > From: "John W. Linville" <linville-2XuSBdqkA4R54TAoqtyWWQ@public.gmane.org>
> > Date: Sun, 24 Jul 2011 15:19:10 -0400
> > 
> > > drivers/net/wireless/iwlwifi/iwl-agn.c:3464: error: unknown field 'suspend' specified in initializer
> > > drivers/net/wireless/iwlwifi/iwl-agn.c:3464: warning: initialization from incompatible pointer type
> > > drivers/net/wireless/iwlwifi/iwl-agn.c:3465: error: unknown field 'resume' specified in initializer
> > > drivers/net/wireless/iwlwifi/iwl-agn.c:3465: warning: initialization from incompatible pointer type
> > > 
> > > This was caused by commit c8ac61cf ("iwlagn: implement WoWLAN").
> > > 
> > > Signed-off-by: John W. Linville <linville-2XuSBdqkA4R54TAoqtyWWQ@public.gmane.org>
> > 
> > Since I already minimally fixed up my build locally last night I know
> > that your patch leads to a set of warnings because the methods whose
> > hookup are now commented out become completely unused and they are all
> > marked "static".  And recursively functions that those methods use
> > become unused too.
> > 
> > Did you turn off CONFIG_PM and test the build of this file to see
> > what the compiler actually does with it?
> > 
> > I'm checking in the following, but I expect much better from you John.
> 
> Sorry, Dave.  I confess that I was hoping for a quick fix on a Sunday afternoon. :-)
> 
> Thanks for making it better!
> 
> John
My mistake to not catch this to begin with, sorry for cause all the
trouble.

Wey

--
To unsubscribe from this list: send the line "unsubscribe linux-wireless" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

^ permalink raw reply

* Re: Linux Kernel | Intel Driver Bug - please update
From: Jeff Kirsher @ 2011-07-24 22:47 UTC (permalink / raw)
  To: Nicolás Sigal | LocalHost Soluciones Innovadoras
  Cc: kristoffer@gaisler.com, Brandeburg, Jesse, Allan, Bruce W,
	Ronciak, John, support, netdev
In-Reply-To: <0BE7A0BD7DFE4537AA0C03E333326E52@NOTENIKO>

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

On Sun, 2011-07-24 at 13:28 -0700, Nicolás Sigal | LocalHost Soluciones
Innovadoras wrote:
> Please, can you update the e1000e driver of the kernel to v1.4.4?
>  
> http://downloadcenter.intel.com/Detail_Desc.aspx?agr=Y&ProdId=3299&DwnldID=15817&ProductFamily=Componentes+Ethernet&ProductLine=Controladores+Ethernet&ProductProduct=Controlador+Intel%C2%AE+82579+Gigabit+Ethernet&DownloadType=Controladoresspa
>  
> This version have an important bug fixed:
> * 82579: Fix for Tx Hang on FTS ME Platform
> 
> And we have this problem in all of our servers with this NIC and ME
> on.
>  
> Debug:
>  
> Jul 24 14:23:27 [kernel] e1000e 0000:00:19.0: eth0: Detected Hardware
> Unit Hang:
> Jul 24 14:23:27 [kernel]   TDH                  <0>
> Jul 24 14:23:27 [kernel]   TDT                  <16>
> Jul 24 14:23:27 [kernel]   next_to_use          <16>
> Jul 24 14:23:27 [kernel]   next_to_clean        <0>
> Jul 24 14:23:27 [kernel] buffer_info[next_to_clean]:
> Jul 24 14:23:27 [kernel]   time_stamp           <10282156f>
> Jul 24 14:23:27 [kernel]   next_to_watch        <0>
> Jul 24 14:23:27 [kernel]   jiffies              <102821aed>
> Jul 24 14:23:27 [kernel]   next_to_watch.status <0>
> Jul 24 14:23:27 [kernel] MAC Status             <80143>
> Jul 24 14:23:27 [kernel] PHY Status             <796d>
> Jul 24 14:23:27 [kernel] PHY 1000BASE-T Status  <0>
> Jul 24 14:23:27 [kernel] PHY Extended Status    <3000>
> Jul 24 14:23:27 [kernel] PCI Status             <10>
> Jul 24 14:23:28 [kernel] e1000e 0000:00:19.0: eth0: Reset adapter
> Jul 24 14:23:30 [kernel] e1000e: eth0 NIC Link is Up 100 Mbps Full
> Duplex, Flow Control: Rx/Tx
> Jul 24 14:23:30 [kernel] e1000e 0000:00:19.0: eth0: 10/100 speed:
> disabling TSO
>  


[removed ixgbe/igb Intel maintainers, and Linus from the email thread]
Added a more appropriate mailing list (netdev)

We currently have the kernel patches in review and testing to update the
e1000e driver to v1.4.4.  I should be able to push some, if not all of
the changes upstream later this week.

[-- Attachment #2: This is a digitally signed message part --]
[-- Type: application/pgp-signature, Size: 490 bytes --]

^ permalink raw reply

* [PATCH] Do not leave router anycast address for /127 prefixes.
From: yoshfuji @ 2011-07-24 21:44 UTC (permalink / raw)
  To: netdev; +Cc: davem, YOSHIFUJI Hideaki, Bjørn Mork, Brian Haley

From: YOSHIFUJI Hideaki <yoshfuji@linux-ipv6.org>

Original commit 2bda8a0c8af... "Disable router anycast
address for /127 prefixes" says:

|   No need for matching code in addrconf_leave_anycast() as it
|   will silently ignore any attempt to leave an unknown anycast
|   address.

After analysis, because 1) we may add two or more prefixes on the
same interface, or 2)user may have manually joined that anycast,
we may hit chances to have anycast address which as if we had
generated one by /127 prefix and we should not leave from subnet-
router anycast address unconditionally.

CC: Bjørn Mork <bjorn@mork.no>
CC: Brian Haley <brian.haley@hp.com>
Signed-off-by: YOSHIFUJI Hideaki <yoshfuji@linux-ipv6.org>
---
 net/ipv6/addrconf.c |    2 ++
 1 files changed, 2 insertions(+), 0 deletions(-)

diff --git a/net/ipv6/addrconf.c b/net/ipv6/addrconf.c
index a06c53c..a55500c 100644
--- a/net/ipv6/addrconf.c
+++ b/net/ipv6/addrconf.c
@@ -1481,6 +1481,8 @@ static void addrconf_join_anycast(struct inet6_ifaddr *ifp)
 static void addrconf_leave_anycast(struct inet6_ifaddr *ifp)
 {
 	struct in6_addr addr;
+	if (ifp->prefix_len == 127) /* RFC 6164 */
+		return;
 	ipv6_addr_prefix(&addr, &ifp->addr, ifp->prefix_len);
 	if (ipv6_addr_any(&addr))
 		return;
-- 
1.7.0.4


^ permalink raw reply related

* LOAN UPDATE Email:fastwayloanlender@hotmail.com
From: Mary C Kuhns @ 2011-07-24 20:33 UTC (permalink / raw)


I am Patrick Fisher of the Fast Way Finance Company NIGERIA a Money 

Lending Firm for real estate and any kind of business financing. We 

offer Loan to individuals     person(s), Firms and cooperate bodies 

at 3% interest    rate per annum. The Minimum amount you can borrow 

is $2,000.00 to $700.000,000.00 US Dollars.

All replies should be forwarded to the Company's
E-mails:fastwayloanlender@hotmail.com
Contact Name: Mr Patrick Fisher 

We are certified, trustworthy, reliable, efficient,
Fast and dynamic. A trial will convince you.....    Provide us with 

the
following:

* Name Of Applicant:.......
* Address:.................
* Country:.................
* Phone Number:............
* Amount Requested: .......
* Loan Duration/years:.....
* Occupation...............
* Have you applied for a Loan ONLINE..

In acknowledgment to this mail, we can start with the  processing of 

your
loan.
  
Contact us for more information via
Email:fastwayloanlender@hotmail.com

Mr.Patrick Fisher 
Managing Director.

^ permalink raw reply

* Re: [PATCH] iwlagn: wrap suspend/resume definitions in CONFIG_PM block
From: John W. Linville @ 2011-07-24 20:39 UTC (permalink / raw)
  To: David Miller
  Cc: johannes.berg, wey-yi.w.guy, linux-wireless, netdev, linux-kernel
In-Reply-To: <20110724.130840.1093555047179460794.davem@davemloft.net>

On Sun, Jul 24, 2011 at 01:08:40PM -0700, David Miller wrote:
> From: "John W. Linville" <linville@tuxdriver.com>
> Date: Sun, 24 Jul 2011 15:19:10 -0400
> 
> > drivers/net/wireless/iwlwifi/iwl-agn.c:3464: error: unknown field 'suspend' specified in initializer
> > drivers/net/wireless/iwlwifi/iwl-agn.c:3464: warning: initialization from incompatible pointer type
> > drivers/net/wireless/iwlwifi/iwl-agn.c:3465: error: unknown field 'resume' specified in initializer
> > drivers/net/wireless/iwlwifi/iwl-agn.c:3465: warning: initialization from incompatible pointer type
> > 
> > This was caused by commit c8ac61cf ("iwlagn: implement WoWLAN").
> > 
> > Signed-off-by: John W. Linville <linville@tuxdriver.com>
> 
> Since I already minimally fixed up my build locally last night I know
> that your patch leads to a set of warnings because the methods whose
> hookup are now commented out become completely unused and they are all
> marked "static".  And recursively functions that those methods use
> become unused too.
> 
> Did you turn off CONFIG_PM and test the build of this file to see
> what the compiler actually does with it?
> 
> I'm checking in the following, but I expect much better from you John.

Sorry, Dave.  I confess that I was hoping for a quick fix on a Sunday afternoon. :-)

Thanks for making it better!

John
-- 
John W. Linville		Someday the world will need a hero, and you
linville@tuxdriver.com			might be all we have.  Be ready.

^ permalink raw reply

* [GIT] Networking
From: David Miller @ 2011-07-24 20:28 UTC (permalink / raw)
  To: torvalds; +Cc: akpm, netdev, linux-kernel


The bulk of this is a final syncup with the wireless folks, updates
to the BNA and BNX2X driver, and:

1) GRE tunnel ICMP error handler packet parser has wrong expectation
   of where the IPv4 header is at this point, fix from Dmitry Kozlov.

2) rt->rt_tos --> iph->tos is not a valid conversion unless RT_TOS()
   is applied to filter out iph->tos value, fix from Julian Anastasov.

3) Duplicate header include removals from Huang Weiyi.

4) Linkwatch del_timer_sync() fix from Stephen Hemminger.

5) Malformed STP config packets need to be ignored, from Stephen
   Hemminger.

Please pull, thanks a lot!

The following changes since commit b6844e8f64920cdee620157252169ba63afb0c89:

  Merge branch 'for-linus' of master.kernel.org:/home/rmk/linux-2.6-arm (2011-07-24 10:20:54 -0700)

are available in the git repository at:

  master.kernel.org:/pub/scm/linux/kernel/git/davem/net.git master

Amitkumar Karwar (3):
      mwifiex: put multicast/broadcast packets to the same RA
      mwifiex: check SDIO multi-port aggregation buffer room correctly
      mwifiex: disable auto deep sleep before unloading the driver

Andy Shevchenko (3):
      wireless: rtlwifi: throw away MAC_FMT and use %pM instead
      wireless: ath9k: use %pM to print MAC
      wireless: mwifiex: print hw address via %pM

Bing Zhao (1):
      MAINTAINERS: add entry for Marvell mwifiex wireless driver

Christian Lamparter (3):
      carl9170 firmware: update firmware headers
      carl9170: move beacon_update into tx.c
      carl9170: set beacon xmit power to the max

Daniel Drake (2):
      libertas: mesh: misc cleanup
      libertas: only enable mesh when interface is active

David S. Miller (2):
      Merge branch 'for-davem' of ssh://master.kernel.org/.../linville/wireless-next-2.6
      iwlwifi: Fix build with CONFIG_PM disabled.

Dmitry Kravkov (1):
      bnx2x: dcb - send all unmapped priorities to same COS as L2

Eliad Peller (3):
      mac80211: reconfigure tx on device reconfiguration
      cfg80211: enter psm when working as p2p_cli
      mac80211: check sta_info_get() return value

Emmanuel Grumbach (21):
      iwlagn: move Tx datapath to transport layer
      iwlagn: move the tasklet / irq to the transport layer
      iwlagn: move sync_irq to transport layer
      iwlagn: move the Rx dispatching to the upper layer
      iwlagn: add comment to tx and get_tx_cmd in iwl_trans_ops
      iwlagn: move rx transport functions to iwl-trans-rx-pcie.c
      iwlagn: move tx transport functions to iwl-trans-tx-pcie.c
      iwlagn: move iwlagn_stop_device to transport layer
      iwlagn: move all the ICT related functions to iwl-trans-rx-pcie.c
      iwlagn: add tx start API to transport layer
      iwlagn: add kick_nic API to transport layer
      iwlagn: kill iwlagn_rx_handler_setup
      iwlagn: kill iwlagn_setup_deferred_work
      iwlagn: SCD configuration for AMPDU moves to transport layer
      iwlagn: move more functions from the start flow to the transport layer
      iwlagn: move iwl_prepare_card_hw to the transport layer
      iwlagn: transport layer receives struct iwl_trans*
      iwlagn: simplify the bus architecture
      iwlagn: iwl_bus holds drv_data as void * instead of iwl_priv
      iwlagn: add comment to warn about WoWLAN in resume / suspend flows
      iwlagn: probe would crash with DEBUG_SHIRQ

Felix Fietkau (2):
      ath9k: improve reliability of MIC error detection
      ath9k_hw: validate and fix broken eeprom chainmask settings

Fry, Donald H (1):
      iwlagn: remove indirection for iwlagn_hw_valid_rtc_data_addr

Hsu, Kenny (1):
      iwlagn: set default of uCode ownership to driver

Huang Weiyi (5):
      bnad: remove duplicated #include
      can: c_can: remove duplicated #include
      igb: remove duplicated #include
      qlge: remove duplicated #include
      via-velocity: remove duplicated #include

Joe Perches (1):
      rtlwifi: Convert printks to pr_<level>

Johannes Berg (15):
      nl80211: advertise GTK rekey support, new triggers
      mac80211: allow driver access to TKIP RX P1K
      mac80211: let key iteration get keys in install order
      mac80211: be more careful in suspend/resume
      iwlagn: simplify TX flags assignments
      cfg80211: allow userspace to control supported rates in scan
      mac80211: implement scan supported rates
      mac80211: sync driver before TX
      cfg80211: fix scan crash on single-band cards
      iwlagn: remove keyinfo cache
      iwlagn: remove forgotten debugfs function
      iwlagn: rewrite HW crypto
      iwlagn: implement WoWLAN
      iwlagn: track beacon interval sent to device
      iwlagn: rename iwlagn_set_dynamic_key

John W. Linville (2):
      bcma: fix 'SSB_PCICORE_BFL_NOPCI' undeclared build breakage
      Merge branch 'master' of git://git.kernel.org/.../linville/wireless-next-2.6 into for-davem

Julian Anastasov (1):
      ipv4: use RT_TOS after some rt_tos conversions

Kalle Valo (1):
      ieee80211: add few wmm tspec values

Luciano Coelho (3):
      nl80211/cfg80211: add max_sched_scan_ssids in the hw description
      nl80211/cfg80211: add max_sched_scan_ie_len in the hw description
      MAINTAINERS: change maintainer of the wl1251 driver

Pavel Roskin (11):
      orinoco: minor fixes for problems found by checkpatch.pl
      carl9170: fix formatting issues found by checkpatch
      ath: use get_unaligned_le{16,32} in ath_hw_keysetmac()
      ath9k: use get_unaligned_{b16, le16, le32} where possible
      ath9k: remove defines in reg.h that exist in ../reg.h
      ath9k: use ath_opmode_to_string()
      ath5k: merge ath5k_hw and ath5k_softc
      carl9170: fix sparse warnings enabled by CONFIG_SPARSE_RCU_POINTER
      ath5k: merge ath5k_{init, deinit}_hw() with their thin wrappers
      ath5k: remove ath5k_hw_get_capability(), don't use VEOL on AR5210
      ath5k: use get_unaligned_le32() in ath5k_write_pwr_to_pdadc_table()

Rafał Miłecki (25):
      ssb: SPROM: add LED duty cycle fields
      bcma: cc: set GPIOTIMER register
      bcma: extract SPROM rev 9 the same way as rev 8
      b43: bus: drop inline from SSB functions
      b43: use agent R/W ops for BCMA_IOCTL
      b43: HT-PHY: switch to channel after enabling radio
      b43: HT-PHY: find channel entry with regs data
      b43: HT-PHY: fix typo in 0x2059 radio init
      bcma: handle alternative SPROM location
      bcma: define IO status register
      b43: bcma: define 80211 core specific IO status bits
      b43: bcma: read info about supported bands
      b43: HT-PHY: fix masks in radio ctl
      b43: correctly display longer chipsets ids
      bcma: move define of BCMA_CLKCTLST register
      bcma: trivial: add helpers for masking/setting
      bcma: allow setting FAST clockmode for a core
      bcma: allow enabling PLL
      b43: bcma: implement full core reset
      b43: disable parity check on BCMA devices
      ssb: return correct translation bit for 64-bit DMA
      bcma: inform drivers about translation bits needed for the core
      b43: bcma: get DMA translation bits
      b43: (un)initialize driver on the BCMA bus
      b43legacy: dma: cache translation (routing bits)

Rajkumar Manoharan (2):
      ath9k: Fix sparse warnings
      ath9k: Fix some smatch warnings

Rasesh Mody (10):
      bna: Print Driver Version
      bna: CheckPatch Cleanup
      bna: IOC Event Notification Enhancement
      bna: State Machine Fault Handling Cleanup
      bna: Minor IRQ Index and Definition Change
      bna: Mboxq Flush When IOC Disabled
      bna: IOC Event Name Change
      bna: Add HW Semaphore Unlock Logic
      bna: HW Error Counter Fix
      bna: Header File Consolidation

Sergei Shtylyov (2):
      r8169: use pci_dev->subsystem_{vendor|device}
      sbni: use pci_dev->subsystem_device

Shmulik Ravid (1):
      bnx2x: enable internal target-read for 57712 and up only

Vladislav Zolotarov (3):
      bnx2x: count statistic ramrods on EQ to prevent MC assert
      bnx2x: fix bnx2x_stop_on_error flow in bnx2x_sp_rtnl_task
      bnx2x: use pci_pcie_cap()

Wey-Yi Guy (13):
      iwlagn: remove un-necessary file
      iwlagn: remove dual-indirect call to simply the code
      iwlagn: another double indirect removed
      iwlagn: comments for iwl_cfg
      iwlagn: calibration bitmap
      iwlagn: set correct calibration flag
      iwlagn: remove legacy calibration command
      iwlagn: define valid init calibration mask
      iwlagn: radio sensor offset in le16 format
      iwlagn: testmode fixed rate available for testmode only
      iwlagn: remove un-necessary "_agn"
      iwlagn: write iq invert register for 105/135 device
      iwlagn: remove "disable otp refresh" W/A

Yaniv Rosner (1):
      bnx2x: fix loopback for non 10G link

Yogesh Ashok Powar (1):
      mwl8k: Fixing sta dereference when ieee80211_tx_info->control.sta is NULL

stephen hemminger (6):
      bridge: send proper message_age in config BPDU
      bridge: ignore bogus STP config packets
      bridge: notifier called with the wrong device
      bridge: add notification over netlink when STP changes state
      bridge: minor cleanups
      net: allow netif_carrier to be called safely from IRQ

xeb@mail.ru (1):
      gre: fix improper error handling

 MAINTAINERS                                        |   10 +-
 drivers/bcma/core.c                                |   72 ++
 drivers/bcma/driver_chipcommon.c                   |   14 +
 drivers/bcma/driver_pci.c                          |    2 +
 drivers/bcma/sprom.c                               |   14 +-
 drivers/net/bna/bfa_cee.c                          |   65 +-
 drivers/net/bna/bfa_cee.h                          |    3 +-
 drivers/net/bna/{bfa_sm.h => bfa_cs.h}             |   78 +-
 drivers/net/bna/bfa_defs.h                         |    5 +-
 drivers/net/bna/bfa_defs_mfg_comm.h                |   20 +-
 drivers/net/bna/bfa_defs_status.h                  |  134 +-
 drivers/net/bna/bfa_ioc.c                          |  157 ++-
 drivers/net/bna/bfa_ioc.h                          |   51 +-
 drivers/net/bna/bfa_wc.h                           |   69 -
 drivers/net/bna/bfi.h                              |   20 +-
 drivers/net/bna/bna.h                              |   18 +-
 drivers/net/bna/bna_ctrl.c                         |   45 +-
 drivers/net/bna/bna_hw.h                           |   92 +-
 drivers/net/bna/bna_txrx.c                         |   44 +-
 drivers/net/bna/bna_types.h                        |   58 +-
 drivers/net/bna/bnad.c                             |   65 +-
 drivers/net/bna/bnad.h                             |   27 +-
 drivers/net/bna/bnad_ethtool.c                     |    2 +-
 drivers/net/bna/cna.h                              |    2 +-
 drivers/net/bnx2x/bnx2x_dcb.c                      |   39 +-
 drivers/net/bnx2x/bnx2x_main.c                     |  134 ++-
 drivers/net/can/c_can/c_can.c                      |    1 -
 drivers/net/can/c_can/c_can_platform.c             |    1 -
 drivers/net/igb/igb_main.c                         |    1 -
 drivers/net/qlge/qlge_main.c                       |    1 -
 drivers/net/r8169.c                                |    7 +-
 drivers/net/via-velocity.c                         |    1 -
 drivers/net/wan/sbni.c                             |    5 +-
 drivers/net/wireless/ath/ath5k/ahb.c               |   44 +-
 drivers/net/wireless/ath/ath5k/ani.c               |   84 +-
 drivers/net/wireless/ath/ath5k/ath5k.h             |  272 ++++-
 drivers/net/wireless/ath/ath5k/attach.c            |   31 +-
 drivers/net/wireless/ath/ath5k/base.c              | 1138 ++++++++---------
 drivers/net/wireless/ath/ath5k/base.h              |  205 +---
 drivers/net/wireless/ath/ath5k/caps.c              |   45 -
 drivers/net/wireless/ath/ath5k/debug.c             |  218 ++--
 drivers/net/wireless/ath/ath5k/debug.h             |   21 +-
 drivers/net/wireless/ath/ath5k/desc.c              |   10 +-
 drivers/net/wireless/ath/ath5k/dma.c               |   12 +-
 drivers/net/wireless/ath/ath5k/eeprom.c            |    4 +-
 drivers/net/wireless/ath/ath5k/initvals.c          |    2 +-
 drivers/net/wireless/ath/ath5k/led.c               |   68 +-
 drivers/net/wireless/ath/ath5k/mac80211-ops.c      |  257 ++--
 drivers/net/wireless/ath/ath5k/pci.c               |   38 +-
 drivers/net/wireless/ath/ath5k/pcu.c               |   24 +-
 drivers/net/wireless/ath/ath5k/phy.c               |   41 +-
 drivers/net/wireless/ath/ath5k/qcu.c               |    9 +-
 drivers/net/wireless/ath/ath5k/reset.c             |   44 +-
 drivers/net/wireless/ath/ath5k/rfkill.c            |   65 +-
 drivers/net/wireless/ath/ath5k/sysfs.c             |   32 +-
 drivers/net/wireless/ath/ath5k/trace.h             |   12 +-
 drivers/net/wireless/ath/ath9k/ar9003_eeprom.c     |   12 +-
 drivers/net/wireless/ath/ath9k/btcoex.c            |    8 +-
 drivers/net/wireless/ath/ath9k/debug.c             |   22 +-
 drivers/net/wireless/ath/ath9k/eeprom_4k.c         |   12 +-
 drivers/net/wireless/ath/ath9k/eeprom_9287.c       |   12 +-
 drivers/net/wireless/ath/ath9k/eeprom_def.c        |   12 +-
 drivers/net/wireless/ath/ath9k/hif_usb.c           |    9 +-
 drivers/net/wireless/ath/ath9k/htc_drv_debug.c     |    7 +-
 drivers/net/wireless/ath/ath9k/hw.c                |   22 +
 drivers/net/wireless/ath/ath9k/init.c              |   25 +-
 drivers/net/wireless/ath/ath9k/recv.c              |   53 +-
 drivers/net/wireless/ath/ath9k/reg.h               |   23 -
 drivers/net/wireless/ath/ath9k/xmit.c              |    4 +
 drivers/net/wireless/ath/carl9170/carl9170.h       |   10 +-
 drivers/net/wireless/ath/carl9170/cmd.h            |    4 +-
 drivers/net/wireless/ath/carl9170/debug.c          |    2 +-
 drivers/net/wireless/ath/carl9170/fwdesc.h         |    3 +
 drivers/net/wireless/ath/carl9170/hw.h             |   41 +-
 drivers/net/wireless/ath/carl9170/led.c            |    2 +-
 drivers/net/wireless/ath/carl9170/mac.c            |  129 --
 drivers/net/wireless/ath/carl9170/main.c           |    2 +-
 drivers/net/wireless/ath/carl9170/phy.c            |    6 +-
 drivers/net/wireless/ath/carl9170/tx.c             |  290 ++++-
 drivers/net/wireless/ath/key.c                     |    7 +-
 drivers/net/wireless/b43/b43.h                     |    7 +
 drivers/net/wireless/b43/bus.c                     |   27 +-
 drivers/net/wireless/b43/dma.c                     |   27 +-
 drivers/net/wireless/b43/dma.h                     |    4 +
 drivers/net/wireless/b43/main.c                    |  106 ++-
 drivers/net/wireless/b43/phy_ht.c                  |   21 +-
 drivers/net/wireless/b43/phy_n.c                   |    4 +-
 drivers/net/wireless/b43/radio_2059.c              |    9 +
 drivers/net/wireless/b43legacy/b43legacy.h         |    2 +
 drivers/net/wireless/b43legacy/dma.c               |    7 +-
 drivers/net/wireless/iwlwifi/Makefile              |    8 +-
 drivers/net/wireless/iwlwifi/iwl-1000.c            |   11 +-
 drivers/net/wireless/iwlwifi/iwl-2000.c            |   46 +-
 drivers/net/wireless/iwlwifi/iwl-5000.c            |   22 +-
 drivers/net/wireless/iwlwifi/iwl-6000.c            |   58 +-
 drivers/net/wireless/iwlwifi/iwl-agn-calib.c       |   65 +-
 drivers/net/wireless/iwlwifi/iwl-agn-hcmd.c        |  210 ----
 drivers/net/wireless/iwlwifi/iwl-agn-ict.c         |  306 -----
 drivers/net/wireless/iwlwifi/iwl-agn-lib.c         |  504 +-------
 drivers/net/wireless/iwlwifi/iwl-agn-rs.c          |    8 +-
 drivers/net/wireless/iwlwifi/iwl-agn-rxon.c        |  115 ++-
 drivers/net/wireless/iwlwifi/iwl-agn-sta.c         |  380 +++----
 drivers/net/wireless/iwlwifi/iwl-agn-tx.c          |  411 +------
 drivers/net/wireless/iwlwifi/iwl-agn-ucode.c       |  179 +---
 drivers/net/wireless/iwlwifi/iwl-agn.c             | 1240 ++++++++++---------
 drivers/net/wireless/iwlwifi/iwl-agn.h             |   65 +-
 .../net/wireless/iwlwifi/{iwl-pci.h => iwl-bus.h}  |   70 +
 drivers/net/wireless/iwlwifi/iwl-commands.h        |  180 +++-
 drivers/net/wireless/iwlwifi/iwl-core.c            |   28 +-
 drivers/net/wireless/iwlwifi/iwl-core.h            |   64 +-
 drivers/net/wireless/iwlwifi/iwl-csr.h             |    1 +
 drivers/net/wireless/iwlwifi/iwl-debug.h           |   10 +-
 drivers/net/wireless/iwlwifi/iwl-debugfs.c         |   87 +-
 drivers/net/wireless/iwlwifi/iwl-dev.h             |  197 +--
 drivers/net/wireless/iwlwifi/iwl-eeprom.c          |   10 +-
 drivers/net/wireless/iwlwifi/iwl-hcmd.c            |  271 ----
 drivers/net/wireless/iwlwifi/iwl-io.h              |    7 +-
 drivers/net/wireless/iwlwifi/iwl-led.c             |    4 +-
 drivers/net/wireless/iwlwifi/iwl-pci.c             |  101 +-
 drivers/net/wireless/iwlwifi/iwl-power.c           |    8 +-
 drivers/net/wireless/iwlwifi/iwl-prph.h            |   82 +-
 drivers/net/wireless/iwlwifi/iwl-rx.c              |  212 +---
 drivers/net/wireless/iwlwifi/iwl-scan.c            |    8 +-
 drivers/net/wireless/iwlwifi/iwl-sta.c             |    8 +-
 drivers/net/wireless/iwlwifi/iwl-sta.h             |    5 +-
 drivers/net/wireless/iwlwifi/iwl-sv-open.c         |   10 +-
 drivers/net/wireless/iwlwifi/iwl-trans-int-pcie.h  |   82 ++
 drivers/net/wireless/iwlwifi/iwl-trans-rx-pcie.c   |  979 +++++++++++++++
 .../iwlwifi/{iwl-tx.c => iwl-trans-tx-pcie.c}      |  484 +++++++-
 drivers/net/wireless/iwlwifi/iwl-trans.c           |  643 +++++++++-
 drivers/net/wireless/iwlwifi/iwl-trans.h           |  154 ++-
 drivers/net/wireless/libertas/dev.h                |    2 -
 drivers/net/wireless/libertas/main.c               |    2 +-
 drivers/net/wireless/libertas/mesh.c               | 1320 +++++++++-----------
 drivers/net/wireless/libertas/mesh.h               |   31 -
 drivers/net/wireless/libertas/tx.c                 |    2 +-
 drivers/net/wireless/mwifiex/debugfs.c             |   33 +-
 drivers/net/wireless/mwifiex/ioctl.h               |    1 +
 drivers/net/wireless/mwifiex/main.h                |    1 +
 drivers/net/wireless/mwifiex/sdio.c                |    5 +-
 drivers/net/wireless/mwifiex/sta_ioctl.c           |   14 +
 drivers/net/wireless/mwifiex/wmm.c                 |    2 +
 drivers/net/wireless/mwl8k.c                       |    6 +-
 drivers/net/wireless/orinoco/airport.c             |    9 +-
 drivers/net/wireless/orinoco/cfg.c                 |    6 +-
 drivers/net/wireless/orinoco/fw.c                  |    7 +-
 drivers/net/wireless/orinoco/fw.h                  |    2 +-
 drivers/net/wireless/orinoco/hermes.c              |   40 +-
 drivers/net/wireless/orinoco/hermes.h              |   37 +-
 drivers/net/wireless/orinoco/hermes_dld.c          |    8 +-
 drivers/net/wireless/orinoco/hermes_dld.h          |   12 +-
 drivers/net/wireless/orinoco/hw.c                  |   48 +-
 drivers/net/wireless/orinoco/hw.h                  |    2 +-
 drivers/net/wireless/orinoco/main.c                |   46 +-
 drivers/net/wireless/orinoco/mic.c                 |    8 +-
 drivers/net/wireless/orinoco/orinoco.h             |   16 +-
 drivers/net/wireless/orinoco/orinoco_cs.c          |    6 +-
 drivers/net/wireless/orinoco/orinoco_nortel.c      |    3 +-
 drivers/net/wireless/orinoco/orinoco_pci.c         |    4 +-
 drivers/net/wireless/orinoco/orinoco_plx.c         |    6 +-
 drivers/net/wireless/orinoco/orinoco_tmd.c         |    2 +-
 drivers/net/wireless/orinoco/orinoco_usb.c         |   23 +-
 drivers/net/wireless/orinoco/spectrum_cs.c         |   10 +-
 drivers/net/wireless/orinoco/wext.c                |   14 +-
 drivers/net/wireless/rtlwifi/base.c                |   20 +-
 drivers/net/wireless/rtlwifi/cam.c                 |    8 +-
 drivers/net/wireless/rtlwifi/core.c                |    6 +-
 drivers/net/wireless/rtlwifi/debug.h               |    5 -
 drivers/net/wireless/rtlwifi/rtl8192c/fw_common.c  |    5 +-
 drivers/net/wireless/rtlwifi/rtl8192ce/hw.c        |    2 +-
 drivers/net/wireless/rtlwifi/rtl8192cu/hw.c        |   69 +-
 drivers/net/wireless/rtlwifi/rtl8192cu/mac.c       |   11 +-
 drivers/net/wireless/rtlwifi/rtl8192de/hw.c        |    2 +-
 drivers/net/wireless/rtlwifi/rtl8192de/sw.c        |    8 +-
 drivers/net/wireless/rtlwifi/rtl8192se/hw.c        |   12 +-
 drivers/net/wireless/rtlwifi/rtl8192se/phy.c       |    5 +-
 drivers/net/wireless/rtlwifi/rtl8192se/rf.c        |    4 +-
 drivers/net/wireless/rtlwifi/rtl8192se/sw.c        |    6 +-
 drivers/net/wireless/rtlwifi/usb.c                 |   12 +-
 drivers/ssb/main.c                                 |    5 +-
 include/linux/bcma/bcma.h                          |   21 +
 include/linux/bcma/bcma_driver_chipcommon.h        |   13 +-
 include/linux/bcma/bcma_regs.h                     |   27 +-
 include/linux/ieee80211.h                          |   37 +
 include/linux/nl80211.h                            |   33 +-
 include/linux/ssb/ssb.h                            |    2 +
 include/net/cfg80211.h                             |   33 +-
 include/net/mac80211.h                             |   60 +
 net/bridge/br_if.c                                 |    2 +-
 net/bridge/br_netlink.c                            |    2 +
 net/bridge/br_private.h                            |    1 +
 net/bridge/br_private_stp.h                        |    3 +-
 net/bridge/br_stp.c                                |   31 +-
 net/bridge/br_stp_bpdu.c                           |   15 +-
 net/bridge/br_stp_if.c                             |    3 +
 net/bridge/br_stp_timer.c                          |    1 +
 net/core/link_watch.c                              |    2 +-
 net/ipv4/gre.c                                     |   21 +-
 net/ipv4/ipmr.c                                    |    2 +-
 net/ipv4/route.c                                   |    2 +-
 net/mac80211/agg-rx.c                              |   10 +-
 net/mac80211/cfg.c                                 |    4 +
 net/mac80211/driver-ops.h                          |   31 +
 net/mac80211/driver-trace.h                        |   43 +
 net/mac80211/ieee80211_i.h                         |    7 +-
 net/mac80211/key.c                                 |    2 +-
 net/mac80211/mlme.c                                |   30 +-
 net/mac80211/pm.c                                  |    3 +
 net/mac80211/scan.c                                |    6 +-
 net/mac80211/tkip.c                                |   11 +
 net/mac80211/util.c                                |   71 +-
 net/mac80211/work.c                                |   28 +-
 net/wireless/core.c                                |    7 +-
 net/wireless/core.h                                |    4 +
 net/wireless/nl80211.c                             |  109 ++-
 net/wireless/scan.c                                |    4 +
 net/wireless/util.c                                |   38 +
 217 files changed, 8010 insertions(+), 6814 deletions(-)
 rename drivers/net/bna/{bfa_sm.h => bfa_cs.h} (60%)
 delete mode 100644 drivers/net/bna/bfa_wc.h
 delete mode 100644 drivers/net/wireless/iwlwifi/iwl-agn-hcmd.c
 delete mode 100644 drivers/net/wireless/iwlwifi/iwl-agn-ict.c
 rename drivers/net/wireless/iwlwifi/{iwl-pci.h => iwl-bus.h} (61%)
 delete mode 100644 drivers/net/wireless/iwlwifi/iwl-hcmd.c
 create mode 100644 drivers/net/wireless/iwlwifi/iwl-trans-int-pcie.h
 create mode 100644 drivers/net/wireless/iwlwifi/iwl-trans-rx-pcie.c
 rename drivers/net/wireless/iwlwifi/{iwl-tx.c => iwl-trans-tx-pcie.c} (53%)

^ permalink raw reply

* Re: [PATCH 0/6] bnx2x fixes
From: David Miller @ 2011-07-24 20:12 UTC (permalink / raw)
  To: dmitry; +Cc: netdev, eilong
In-Reply-To: <1311516194.23243.14.camel@lb-tlvb-dmitry>

From: "Dmitry Kravkov" <dmitry@broadcom.com>
Date: Sun, 24 Jul 2011 17:03:14 +0300

> Following the short series of "last minute" fixes. Will you able to
> apply it to the net-next?

All applied, thanks.

^ 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