Netdev List
 help / color / mirror / Atom feed
* Re: [PATCH net-next 3/3] bonding: fix bond_release_all inconsistencies
From: Jay Vosburgh @ 2013-02-18 21:56 UTC (permalink / raw)
  To: Nikolay Aleksandrov; +Cc: netdev, davem, andy
In-Reply-To: <1361210344-14907-3-git-send-email-nikolay@redhat.com>

Nikolay Aleksandrov <nikolay@redhat.com> wrote:

>This patch fixes the following inconsistencies in bond_release_all:
>- IFF_BONDING flag is not stripped from slaves
>- MTU is not restored
>- no netdev notifiers are sent
>Instead of trying to keep bond_release and bond_release_all in sync
>I think we can re-use bond_release as the environment for calling it
>is correct (RTNL is held). I have been running tests for the past
>week and they came out successful. The only way for bond_release to fail
>is for the slave to be attached in a different bond or to not be a slave
>but that cannot happen as RTNL is held and no slave manipulations can be
>achieved.

	It might be worthwhile to add an "all" argument to bond_release
that skips some things that don't make sense if all slaves are being
released.  I'm thinking in particular of this block:

	if (oldcurrent == slave) {
		/*
		 * Note that we hold RTNL over this sequence, so there
		 * is no concern that another slave add/remove event
		 * will interfere.
		 */
		write_unlock_bh(&bond->lock);
		read_lock(&bond->lock);
		write_lock_bh(&bond->curr_slave_lock);

		bond_select_active_slave(bond);

		write_unlock_bh(&bond->curr_slave_lock);
		read_unlock(&bond->lock);
		write_lock_bh(&bond->lock);
	}

	as it's written now, for the release all case, the code may go
to the trouble of assigning a new active slave each time one slave is
removed (including various log messages, maybe sending IGMPs, etc).  If
all slaves are being removed, that's pointless.  This could be something
like:

	if (release_all) {
		bond->curr_active_slave = NULL;
	} else if (oldcurrent == slave) {
		[ the current block of stuff ]
	}

	it's safe here to unconditionally set curr_active_slave to NULL
because we hold bond->lock for write.  The lock dance stuff for the
bond_select_active_slave() call is to satisfy its locking requirements.

	-J


>Signed-off-by: Nikolay Aleksandrov <nikolay@redhat.com>
>---
> drivers/net/bonding/bond_main.c | 106 ++--------------------------------------
> 1 file changed, 5 insertions(+), 101 deletions(-)
>
>diff --git a/drivers/net/bonding/bond_main.c b/drivers/net/bonding/bond_main.c
>index 94c1534..fcfc880 100644
>--- a/drivers/net/bonding/bond_main.c
>+++ b/drivers/net/bonding/bond_main.c
>@@ -2140,113 +2140,17 @@ static int  bond_release_and_destroy(struct net_device *bond_dev,
> /*
>  * This function releases all slaves.
>  */
>-static int bond_release_all(struct net_device *bond_dev)
>+static void bond_release_all(struct net_device *bond_dev)
> {
> 	struct bonding *bond = netdev_priv(bond_dev);
>-	struct slave *slave;
>-	struct net_device *slave_dev;
>-	struct sockaddr addr;
>-
>-	write_lock_bh(&bond->lock);
>-
>-	netif_carrier_off(bond_dev);
>
> 	if (bond->slave_cnt == 0)
>-		goto out;
>-
>-	bond->current_arp_slave = NULL;
>-	bond->primary_slave = NULL;
>-	bond_change_active_slave(bond, NULL);
>-
>-	while ((slave = bond->first_slave) != NULL) {
>-		/* Inform AD package of unbinding of slave
>-		 * before slave is detached from the list.
>-		 */
>-		if (bond->params.mode == BOND_MODE_8023AD)
>-			bond_3ad_unbind_slave(slave);
>-
>-		slave_dev = slave->dev;
>-		bond_detach_slave(bond, slave);
>-
>-		/* now that the slave is detached, unlock and perform
>-		 * all the undo steps that should not be called from
>-		 * within a lock.
>-		 */
>-		write_unlock_bh(&bond->lock);
>-
>-		/* unregister rx_handler early so bond_handle_frame wouldn't
>-		 * be called for this slave anymore.
>-		 */
>-		netdev_rx_handler_unregister(slave_dev);
>-		synchronize_net();
>-
>-		if (bond_is_lb(bond)) {
>-			/* must be called only after the slave
>-			 * has been detached from the list
>-			 */
>-			bond_alb_deinit_slave(bond, slave);
>-		}
>-
>-		bond_destroy_slave_symlinks(bond_dev, slave_dev);
>-		bond_del_vlans_from_slave(bond, slave_dev);
>-
>-		/* If the mode USES_PRIMARY, then we should only remove its
>-		 * promisc and mc settings if it was the curr_active_slave, but that was
>-		 * already taken care of above when we detached the slave
>-		 */
>-		if (!USES_PRIMARY(bond->params.mode)) {
>-			/* unset promiscuity level from slave */
>-			if (bond_dev->flags & IFF_PROMISC)
>-				dev_set_promiscuity(slave_dev, -1);
>-
>-			/* unset allmulti level from slave */
>-			if (bond_dev->flags & IFF_ALLMULTI)
>-				dev_set_allmulti(slave_dev, -1);
>-
>-			/* flush master's mc_list from slave */
>-			netif_addr_lock_bh(bond_dev);
>-			bond_mc_list_flush(bond_dev, slave_dev);
>-			netif_addr_unlock_bh(bond_dev);
>-		}
>-
>-		bond_upper_dev_unlink(bond_dev, slave_dev);
>-
>-		slave_disable_netpoll(slave);
>-
>-		/* close slave before restoring its mac address */
>-		dev_close(slave_dev);
>-
>-		if (!bond->params.fail_over_mac) {
>-			/* restore original ("permanent") mac address*/
>-			memcpy(addr.sa_data, slave->perm_hwaddr, ETH_ALEN);
>-			addr.sa_family = slave_dev->type;
>-			dev_set_mac_address(slave_dev, &addr);
>-		}
>-
>-		kfree(slave);
>-
>-		/* re-acquire the lock before getting the next slave */
>-		write_lock_bh(&bond->lock);
>-	}
>-
>-	eth_hw_addr_random(bond_dev);
>-	bond->dev_addr_from_first = true;
>-
>-	if (bond_vlan_used(bond)) {
>-		pr_warning("%s: Warning: clearing HW address of %s while it still has VLANs.\n",
>-			   bond_dev->name, bond_dev->name);
>-		pr_warning("%s: When re-adding slaves, make sure the bond's HW address matches its VLANs'.\n",
>-			   bond_dev->name);
>-	}
>-
>+		return;
>+	while (bond->first_slave != NULL)
>+		bond_release(bond_dev, bond->first_slave->dev);
> 	pr_info("%s: released all slaves\n", bond_dev->name);
>
>-out:
>-	write_unlock_bh(&bond->lock);
>-
>-	bond_compute_features(bond);
>-
>-	return 0;
>+	return;
> }
>
> /*
>-- 
>1.7.11.7

---
	-Jay Vosburgh, IBM Linux Technology Center, fubar@us.ibm.com

^ permalink raw reply

* Re: [PATCH linux-next] net: ipv6: Fix compiler warning
From: David Miller @ 2013-02-18 21:54 UTC (permalink / raw)
  To: stratosk
  Cc: steffen.klassert, kuznet, jmorris, yoshfuji, netdev, linux-kernel
In-Reply-To: <51229152.8010007@semaphore.gr>


Patches to fix this have already been applied to net-next, thanks.

^ permalink raw reply

* Re: SYSFS "errors"
From: Greg KH @ 2013-02-18 21:54 UTC (permalink / raw)
  To: Mauro Carvalho Chehab
  Cc: balbi, Linux Kernel Mailing List, Steven Rostedt,
	Frederic Weisbecker, Ingo Molnar, JBottomley, linux-scsi, davem,
	netdev, Doug Thompson, linux-edac, rjw, linux-pm
In-Reply-To: <20130218184742.5a4c3c06@redhat.com>

On Mon, Feb 18, 2013 at 06:47:42PM -0300, Mauro Carvalho Chehab wrote:
> In the past, the sysfs node creation was done using the raw sysfs support.
> Doing dynamic creation with the old code were much more complex. I guess
> that's the reason why the code was written this way. Now that the code 
> uses struct device, it shouldn't be hard to change the code to only 
> create this attribute if the device has support for scrub rate setting.
> 
> Yet, that would change the userspace API. I'm not sure what
> applications would rely on the current behavior. So, changing it
> would require some investigation in order to avoid regressions.

Because sysfs is "one value per file" the lack of a file showing up
shouldn't cause any userspace tools any problems, that is why we did
things this way.

But, of course, userspace programmers do know how to mess things up...

greg k-h

^ permalink raw reply

* Re: [PATCH net 2/3] bonding: Fix initialize after use for 3ad machine state spinlock
From: Nikolay Aleksandrov @ 2013-02-18 21:51 UTC (permalink / raw)
  To: Jay Vosburgh; +Cc: netdev, davem, andy
In-Reply-To: <21258.1361223190@death.nxdomain>

On 18/02/13 22:33, Jay Vosburgh wrote:
> Nikolay Aleksandrov <nikolay@redhat.com> wrote:
> 
>> The 3ad machine state spinlock can be used before it is inititialized
>> while doing bond_enslave() (and the port is being initialized) since
>> port->slave is set before the lock is prepared, thus causing soft
>> lock-ups and a multitude of other nasty bugs.
> 
> 	Does this change cause the "uninitialized port" warnings in
> bond_3ad_state_machine_handler and bond_3ad_rx_indication to
> intermittently print during the enslavement process?  If so (and it
> looks to me like it will), I think the warnings should be removed, since
> after this change, port->slave being NULL isn't really an error
> condition that needs a warning to the log.
> 
This change couldn't cause that, it only initializes the spin lock
before the slave is set, currently after the first patch of this series
this is no longer a requirement as far as I can tell the only code that
can access the lock before the slave is set was that one, but it still
is a bug that can manifest later. I don't think it has anything to do
with the warnings, the only change is that the spin lock is initialized
prior to setting the slave to the port.
Am I missing something here ?

>> Signed-off-by: Nikolay Aleksandrov <nikolay@redhat.com>
>> ---
>> drivers/net/bonding/bond_3ad.c | 9 ++++-----
>> 1 file changed, 4 insertions(+), 5 deletions(-)
>>
>> diff --git a/drivers/net/bonding/bond_3ad.c b/drivers/net/bonding/bond_3ad.c
>> index 1720742..96d471e 100644
>> --- a/drivers/net/bonding/bond_3ad.c
>> +++ b/drivers/net/bonding/bond_3ad.c
>> @@ -389,13 +389,13 @@ static u8 __get_duplex(struct port *port)
>>
>> /**
>>  * __initialize_port_locks - initialize a port's STATE machine spinlock
>> - * @port: the port we're looking at
>> + * @port: the slave of the port we're looking at
>>  *
>>  */
>> -static inline void __initialize_port_locks(struct port *port)
>> +static inline void __initialize_port_locks(struct slave *port)
>> {
>> 	// make sure it isn't called twice
>> -	spin_lock_init(&(SLAVE_AD_INFO(port->slave).state_machine_lock));
>> +	spin_lock_init(&(SLAVE_AD_INFO(port).state_machine_lock));
> 
> 	Change the name of the variable here, too, not just the type.
> This is confusing.
> 
> 	-J
Thanks, I saw that after posting, I have prepared this change already.
> 
>> }
>>
>> //conversions
>> @@ -1910,6 +1910,7 @@ int bond_3ad_bind_slave(struct slave *slave)
>>
>> 		ad_initialize_port(port, bond->params.lacp_fast);
>>
>> +		__initialize_port_locks(slave);
>> 		port->slave = slave;
>> 		port->actor_port_number = SLAVE_AD_INFO(slave).id;
>> 		// key is determined according to the link speed, duplex and user key(which is yet not supported)
>> @@ -1932,8 +1933,6 @@ int bond_3ad_bind_slave(struct slave *slave)
>> 		port->next_port_in_aggregator = NULL;
>>
>> 		__disable_port(port);
>> -		__initialize_port_locks(port);
>> -
>>
>> 		// aggregator initialization
>> 		aggregator = &(SLAVE_AD_INFO(slave).aggregator);
>> -- 
>> 1.7.11.7
>>
> 
> ---
> 	-Jay Vosburgh, IBM Linux Technology Center, fubar@us.ibm.com
> 

^ permalink raw reply

* Re: SYSFS "errors"
From: Alan Stern @ 2013-02-18 21:48 UTC (permalink / raw)
  To: Felipe Balbi
  Cc: Greg KH, Linux Kernel Mailing List, Steven Rostedt,
	Frederic Weisbecker, Ingo Molnar, JBottomley, linux-scsi, davem,
	netdev, Doug Thompson, linux-edac, rjw, linux-pm
In-Reply-To: <20130218184633.GC10755@arwen.pp.htv.fi>

On Mon, 18 Feb 2013, Felipe Balbi wrote:

> Hi, On Mon, Feb 18, 2013 at 09:49:16AM -0800, Greg KH wrote:
> > > Input/output error - /sys/devices/cpu/power/autosuspend_delay_ms
> > 
> > The issue with this file is, if the power.use_autosuspend flag is not
> > set for the device, then it can't be read or written to.  This flag
> > changes dynamically with the system state
> > (__pm_runtime_use_autosuspend() can change it), so we can't just not
> > show the file if the flag is not set properly, sorry.
> > 
> > So the "error" is correct here, as is the 0644 file value.
> 
> hmm... we could create the file at pm_runtime_enable() time and remove
> it on pm_runtime_disable() time, no ? Addin Rafael to Cc

In theory this could be done, although the times would be when runtime 
autosuspend is turned on or off, not when pm_runtime_enable is called.

Alan Stern

^ permalink raw reply

* Re: SYSFS "errors"
From: Mauro Carvalho Chehab @ 2013-02-18 21:47 UTC (permalink / raw)
  To: balbi
  Cc: Greg KH, Linux Kernel Mailing List, Steven Rostedt,
	Frederic Weisbecker, Ingo Molnar, JBottomley, linux-scsi, davem,
	netdev, Doug Thompson, linux-edac, rjw, linux-pm
In-Reply-To: <20130218200542.GB20137@arwen.pp.htv.fi>

Em Mon, 18 Feb 2013 22:05:42 +0200
Felipe Balbi <balbi@ti.com> escreveu:

> Hi,
> 
> On Mon, Feb 18, 2013 at 04:46:38PM -0300, Mauro Carvalho Chehab wrote:
> > > > > No such device - /sys/devices/system/edac/mc/mc0/sdram_scrub_rate
> > > > 
> > > > Odd, go ask the edac developers
> > > 
> > > will do ;-)
> > 
> > Well, the question is missing ;) /me assumes that you want to talk about
> > suspending/resume and EDAC, right?
> 
> oops, my bad. The thing is that file has read permission but reading it
> isn't allowed ;-)

That depends on the driver. See drivers/edac/edac_mc_sysfs.c:

static ssize_t mci_sdram_scrub_rate_show(struct device *dev,
					 struct device_attribute *mattr,
					 char *data)
{
	struct mem_ctl_info *mci = to_mci(dev);
	int bandwidth = 0;

	if (!mci->get_sdram_scrub_rate)
		return -ENODEV;

	bandwidth = mci->get_sdram_scrub_rate(mci);
	if (bandwidth < 0) {
		edac_printk(KERN_DEBUG, EDAC_MC, "Error reading scrub rate\n");
		return bandwidth;
	}

	return sprintf(data, "%d\n", bandwidth);
}

/* memory scrubber attribute file */
DEVICE_ATTR(sdram_scrub_rate, S_IRUGO | S_IWUSR, mci_sdram_scrub_rate_show,
       	mci_sdram_scrub_rate_store);

static struct attribute *mci_attrs[] = {
        &dev_attr_reset_counters.attr,
       	&dev_attr_mc_name.attr,
        &dev_attr_size_mb.attr,
        &dev_attr_seconds_since_reset.attr,
        &dev_attr_ue_noinfo_count.attr,
        &dev_attr_ce_noinfo_count.attr,
        &dev_attr_ue_count.attr,
        &dev_attr_ce_count.attr,
        &dev_attr_sdram_scrub_rate.attr,
       	&dev_attr_max_location.attr,
        NULL
};

The capability of get and/or set the scrub rate is edac-driver specific.
Drivers that support it need to fill those callbacks:
	mci->get_sdram_scrub_rate
	mci->set_sdram_scrub_rate

In any case, the sysfs attribute is created even if the device doesn't
have support for read/set the scrub rate.

On devices where this is not supported, reading (and/or writing) to this
sysfs node will return -ENODEV.

In the past, the sysfs node creation was done using the raw sysfs support.
Doing dynamic creation with the old code were much more complex. I guess
that's the reason why the code was written this way. Now that the code 
uses struct device, it shouldn't be hard to change the code to only 
create this attribute if the device has support for scrub rate setting.

Yet, that would change the userspace API. I'm not sure what
applications would rely on the current behavior. So, changing it
would require some investigation in order to avoid regressions.

Regards,
Mauro

^ permalink raw reply

* Re: [PATCH net 2/3] bonding: Fix initialize after use for 3ad machine state spinlock
From: Jay Vosburgh @ 2013-02-18 21:33 UTC (permalink / raw)
  To: Nikolay Aleksandrov; +Cc: netdev, davem, andy
In-Reply-To: <1361210344-14907-2-git-send-email-nikolay@redhat.com>

Nikolay Aleksandrov <nikolay@redhat.com> wrote:

>The 3ad machine state spinlock can be used before it is inititialized
>while doing bond_enslave() (and the port is being initialized) since
>port->slave is set before the lock is prepared, thus causing soft
>lock-ups and a multitude of other nasty bugs.

	Does this change cause the "uninitialized port" warnings in
bond_3ad_state_machine_handler and bond_3ad_rx_indication to
intermittently print during the enslavement process?  If so (and it
looks to me like it will), I think the warnings should be removed, since
after this change, port->slave being NULL isn't really an error
condition that needs a warning to the log.

>Signed-off-by: Nikolay Aleksandrov <nikolay@redhat.com>
>---
> drivers/net/bonding/bond_3ad.c | 9 ++++-----
> 1 file changed, 4 insertions(+), 5 deletions(-)
>
>diff --git a/drivers/net/bonding/bond_3ad.c b/drivers/net/bonding/bond_3ad.c
>index 1720742..96d471e 100644
>--- a/drivers/net/bonding/bond_3ad.c
>+++ b/drivers/net/bonding/bond_3ad.c
>@@ -389,13 +389,13 @@ static u8 __get_duplex(struct port *port)
>
> /**
>  * __initialize_port_locks - initialize a port's STATE machine spinlock
>- * @port: the port we're looking at
>+ * @port: the slave of the port we're looking at
>  *
>  */
>-static inline void __initialize_port_locks(struct port *port)
>+static inline void __initialize_port_locks(struct slave *port)
> {
> 	// make sure it isn't called twice
>-	spin_lock_init(&(SLAVE_AD_INFO(port->slave).state_machine_lock));
>+	spin_lock_init(&(SLAVE_AD_INFO(port).state_machine_lock));

	Change the name of the variable here, too, not just the type.
This is confusing.

	-J

> }
>
> //conversions
>@@ -1910,6 +1910,7 @@ int bond_3ad_bind_slave(struct slave *slave)
>
> 		ad_initialize_port(port, bond->params.lacp_fast);
>
>+		__initialize_port_locks(slave);
> 		port->slave = slave;
> 		port->actor_port_number = SLAVE_AD_INFO(slave).id;
> 		// key is determined according to the link speed, duplex and user key(which is yet not supported)
>@@ -1932,8 +1933,6 @@ int bond_3ad_bind_slave(struct slave *slave)
> 		port->next_port_in_aggregator = NULL;
>
> 		__disable_port(port);
>-		__initialize_port_locks(port);
>-
>
> 		// aggregator initialization
> 		aggregator = &(SLAVE_AD_INFO(slave).aggregator);
>-- 
>1.7.11.7
>

---
	-Jay Vosburgh, IBM Linux Technology Center, fubar@us.ibm.com

^ permalink raw reply

* Re: [PATCH net 1/3] bonding: Fix race condition between bond_enslave() and bond_3ad_update_lacp_rate()
From: Jay Vosburgh @ 2013-02-18 21:09 UTC (permalink / raw)
  To: Nikolay Aleksandrov; +Cc: netdev, davem, andy
In-Reply-To: <1361210344-14907-1-git-send-email-nikolay@redhat.com>

Nikolay Aleksandrov <nikolay@redhat.com> wrote:

>port->slave can be NULL since it's being initialized in bond_enslave
>thus dereferencing a NULL pointer in bond_3ad_update_lacp_rate()
>Also fix a minor bug, which could cause a port not to have
>AD_STATE_LACP_TIMEOUT since there's no sync between
>bond_3ad_update_lacp_rate() and bond_3ad_bind_slave(), by changing
>the read_lock to a write_lock_bh in bond_3ad_update_lacp_rate().

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

>Signed-off-by: Nikolay Aleksandrov <nikolay@redhat.com>
>---
> drivers/net/bonding/bond_3ad.c | 6 ++++--
> 1 file changed, 4 insertions(+), 2 deletions(-)
>
>diff --git a/drivers/net/bonding/bond_3ad.c b/drivers/net/bonding/bond_3ad.c
>index a030e63..1720742 100644
>--- a/drivers/net/bonding/bond_3ad.c
>+++ b/drivers/net/bonding/bond_3ad.c
>@@ -2494,11 +2494,13 @@ void bond_3ad_update_lacp_rate(struct bonding *bond)
> 	struct port *port = NULL;
> 	int lacp_fast;
>
>-	read_lock(&bond->lock);
>+	write_lock_bh(&bond->lock);
> 	lacp_fast = bond->params.lacp_fast;
>
> 	bond_for_each_slave(bond, slave, i) {
> 		port = &(SLAVE_AD_INFO(slave).port);
>+		if (port->slave == NULL)
>+			continue;
> 		__get_state_machine_lock(port);
> 		if (lacp_fast)
> 			port->actor_oper_port_state |= AD_STATE_LACP_TIMEOUT;
>@@ -2507,5 +2509,5 @@ void bond_3ad_update_lacp_rate(struct bonding *bond)
> 		__release_state_machine_lock(port);
> 	}
>
>-	read_unlock(&bond->lock);
>+	write_unlock_bh(&bond->lock);
> }
>-- 
>1.7.11.7
>

^ permalink raw reply

* Re: [PATCH] xen: netback: remove redundant xenvif_put
From: Wei Liu @ 2013-02-18 20:58 UTC (permalink / raw)
  To: Andrew Jones
  Cc: netdev, xen-devel@lists.xensource.com, Ian Campbell, linux-kernel
In-Reply-To: <1361219360-29176-1-git-send-email-drjones@redhat.com>


[-- Attachment #1.1: Type: text/plain, Size: 1224 bytes --]

On Mon, Feb 18, 2013 at 8:29 PM, Andrew Jones <drjones@redhat.com> wrote:

> netbk_fatal_tx_err() calls xenvif_carrier_off(), which does
> a xenvif_put(). As callers of netbk_fatal_tx_err should only
> have one reference to the vif at this time, then the xenvif_put
> in netbk_fatal_tx_err is one too many.
>
>
Hmm... we had a discussion on this not long ago.

http://marc.info/?l=xen-devel&m=136084174026977&w=2

Do you actually experiencing problem?


Wei.



> Signed-off-by: Andrew Jones <drjones@redhat.com>
> ---
>  drivers/net/xen-netback/netback.c | 1 -
>  1 file changed, 1 deletion(-)
>
> diff --git a/drivers/net/xen-netback/netback.c
> b/drivers/net/xen-netback/netback.c
> index 2b9520c..c23b9ec 100644
> --- a/drivers/net/xen-netback/netback.c
> +++ b/drivers/net/xen-netback/netback.c
> @@ -893,7 +893,6 @@ static void netbk_fatal_tx_err(struct xenvif *vif)
>  {
>         netdev_err(vif->dev, "fatal error; disabling device\n");
>         xenvif_carrier_off(vif);
> -       xenvif_put(vif);
>  }
>
>  static int netbk_count_requests(struct xenvif *vif,
> --
> 1.8.1.2
>
>
> _______________________________________________
> Xen-devel mailing list
> Xen-devel@lists.xen.org
> http://lists.xen.org/xen-devel
>

[-- Attachment #1.2: Type: text/html, Size: 2340 bytes --]

[-- Attachment #2: Type: text/plain, Size: 126 bytes --]

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

^ permalink raw reply

* [PATCH] b44: use netdev_alloc_skb_ip_align()
From: Hauke Mehrtens @ 2013-02-18 20:49 UTC (permalink / raw)
  To: davem; +Cc: zambrano, netdev, Hauke Mehrtens

Without this patch b44 always allocates the 2 bytes needed for aligned
access on every platform, now it uses netdev_alloc_skb_ip_align().

Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
---
 drivers/net/ethernet/broadcom/b44.c |    3 +--
 1 file changed, 1 insertion(+), 2 deletions(-)

diff --git a/drivers/net/ethernet/broadcom/b44.c b/drivers/net/ethernet/broadcom/b44.c
index c030274..a7efec2 100644
--- a/drivers/net/ethernet/broadcom/b44.c
+++ b/drivers/net/ethernet/broadcom/b44.c
@@ -809,11 +809,10 @@ static int b44_rx(struct b44 *bp, int budget)
 			struct sk_buff *copy_skb;
 
 			b44_recycle_rx(bp, cons, bp->rx_prod);
-			copy_skb = netdev_alloc_skb(bp->dev, len + 2);
+			copy_skb = netdev_alloc_skb_ip_align(bp->dev, len);
 			if (copy_skb == NULL)
 				goto drop_it_no_recycle;
 
-			skb_reserve(copy_skb, 2);
 			skb_put(copy_skb, len);
 			/* DMA sync done above, copy just the actual packet */
 			skb_copy_from_linear_data_offset(skb, RX_PKT_OFFSET,
-- 
1.7.10.4

^ permalink raw reply related

* [PATCH linux-next] net: ipv6: Fix compiler warning
From: Stratos Karafotis @ 2013-02-18 20:38 UTC (permalink / raw)
  To: Steffen Klassert, David S. Miller, Alexey Kuznetsov, James Morris,
	Hideaki YOSHIFUJI
  Cc: netdev, linux-kernel

Fix the following compiler warning (also a checkpatch error):

net/ipv6/xfrm6_mode_tunnel.c: In function ‘xfrm6_mode_tunnel_input’:
net/ipv6/xfrm6_mode_tunnel.c:72:2: warning: suggest parentheses around
assignment used as truth value [-Wparentheses]

Signed-off-by: Stratos Karafotis <stratosk@semaphore.gr>
---
 net/ipv6/xfrm6_mode_tunnel.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/net/ipv6/xfrm6_mode_tunnel.c b/net/ipv6/xfrm6_mode_tunnel.c
index 93c41a8..9bf6a74 100644
--- a/net/ipv6/xfrm6_mode_tunnel.c
+++ b/net/ipv6/xfrm6_mode_tunnel.c
@@ -69,7 +69,8 @@ static int xfrm6_mode_tunnel_input(struct xfrm_state *x, struct sk_buff *skb)
 	if (!pskb_may_pull(skb, sizeof(struct ipv6hdr)))
 		goto out;
 
-	if (err = skb_unclone(skb, GFP_ATOMIC))
+	err = skb_unclone(skb, GFP_ATOMIC);
+	if (err)
 		goto out;
 
 	if (x->props.flags & XFRM_STATE_DECAP_DSCP)
-- 
1.8.1.2

^ permalink raw reply related

* [PATCH] xen: netback: remove redundant xenvif_put
From: Andrew Jones @ 2013-02-18 20:29 UTC (permalink / raw)
  To: xen-devel, ian.campbell; +Cc: netdev, linux-kernel

netbk_fatal_tx_err() calls xenvif_carrier_off(), which does
a xenvif_put(). As callers of netbk_fatal_tx_err should only
have one reference to the vif at this time, then the xenvif_put
in netbk_fatal_tx_err is one too many.

Signed-off-by: Andrew Jones <drjones@redhat.com>
---
 drivers/net/xen-netback/netback.c | 1 -
 1 file changed, 1 deletion(-)

diff --git a/drivers/net/xen-netback/netback.c b/drivers/net/xen-netback/netback.c
index 2b9520c..c23b9ec 100644
--- a/drivers/net/xen-netback/netback.c
+++ b/drivers/net/xen-netback/netback.c
@@ -893,7 +893,6 @@ static void netbk_fatal_tx_err(struct xenvif *vif)
 {
 	netdev_err(vif->dev, "fatal error; disabling device\n");
 	xenvif_carrier_off(vif);
-	xenvif_put(vif);
 }
 
 static int netbk_count_requests(struct xenvif *vif,
-- 
1.8.1.2

^ permalink raw reply related

* Re: [PATCH net-next] ipv6: fix a sparse warning
From: David Miller @ 2013-02-18 20:28 UTC (permalink / raw)
  To: erdnetdev; +Cc: netdev
In-Reply-To: <1361218732.19353.105.camel@edumazet-glaptop>

From: Eric Dumazet <erdnetdev@gmail.com>
Date: Mon, 18 Feb 2013 12:18:52 -0800

> From: Eric Dumazet <edumazet@google.com>
> 
> net/ipv6/reassembly.c:82:72: warning: incorrect type in argument 3 (different base types)
> net/ipv6/reassembly.c:82:72:    expected unsigned int [unsigned] [usertype] c
> net/ipv6/reassembly.c:82:72:    got restricted __be32 [usertype] id
> 
> Signed-off-by: Eric Dumazet <edumazet@google.com>
> Reported-by: Fengguang Wu <fengguang.wu@intel.com>

Applied, thanks Eric.

^ permalink raw reply

* [PATCH v4] net: fec: Do a sanity check on the gpio number
From: Fabio Estevam @ 2013-02-18 20:20 UTC (permalink / raw)
  To: davem; +Cc: shawn.guo, marex, s.hauer, netdev, Fabio Estevam

Check whether the phy-reset GPIO is valid, prior to requesting it.

In the case a board does not provide a phy-reset GPIO, just returns immediately.

With such gpio validation in place, it is also safe to change from pr_debug to 
dev_err in the case the gpio request fails.

Signed-off-by: Fabio Estevam <fabio.estevam@freescale.com>
---
Change since v3:
- Do not refer to a commit that is in linux-next
Changes since v2:
- Merge the two patches into a single one, and use dev_err
Changes since v1:
- Added Shawn's ack
 drivers/net/ethernet/freescale/fec.c |    5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/drivers/net/ethernet/freescale/fec.c b/drivers/net/ethernet/freescale/fec.c
index 0fe68c4..1a2071b 100644
--- a/drivers/net/ethernet/freescale/fec.c
+++ b/drivers/net/ethernet/freescale/fec.c
@@ -1689,10 +1689,13 @@ static void fec_reset_phy(struct platform_device *pdev)
 		msec = 1;
 
 	phy_reset = of_get_named_gpio(np, "phy-reset-gpios", 0);
+	if (!gpio_is_valid(phy_reset))
+		return;
+
 	err = devm_gpio_request_one(&pdev->dev, phy_reset,
 				    GPIOF_OUT_INIT_LOW, "phy-reset");
 	if (err) {
-		pr_debug("FEC: failed to get gpio phy-reset: %d\n", err);
+		dev_err(&pdev->dev, "failed to get phy-reset-gpios: %d\n", err);
 		return;
 	}
 	msleep(msec);
-- 
1.7.9.5

^ permalink raw reply related

* [PATCH net-next] ipv6: fix a sparse warning
From: Eric Dumazet @ 2013-02-18 20:18 UTC (permalink / raw)
  To: David Miller; +Cc: netdev

From: Eric Dumazet <edumazet@google.com>

net/ipv6/reassembly.c:82:72: warning: incorrect type in argument 3 (different base types)
net/ipv6/reassembly.c:82:72:    expected unsigned int [unsigned] [usertype] c
net/ipv6/reassembly.c:82:72:    got restricted __be32 [usertype] id

Signed-off-by: Eric Dumazet <edumazet@google.com>
Reported-by: Fengguang Wu <fengguang.wu@intel.com>
---
 net/ipv6/reassembly.c |    3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/net/ipv6/reassembly.c b/net/ipv6/reassembly.c
index 9a6428a..3c6a772 100644
--- a/net/ipv6/reassembly.c
+++ b/net/ipv6/reassembly.c
@@ -79,7 +79,8 @@ unsigned int inet6_hash_frag(__be32 id, const struct in6_addr *saddr,
 {
 	u32 c;
 
-	c = jhash_3words(ipv6_addr_hash(saddr), ipv6_addr_hash(daddr), id, rnd);
+	c = jhash_3words(ipv6_addr_hash(saddr), ipv6_addr_hash(daddr),
+			 (__force u32)id, rnd);
 
 	return c & (INETFRAGS_HASHSZ - 1);
 }

^ permalink raw reply related

* Re: [PATCH] b43: Increase number of RX DMA slots
From: Larry Finger @ 2013-02-18 20:10 UTC (permalink / raw)
  To: Rafał Miłecki
  Cc: linville, linux-wireless, netdev, Bastian Bittorf, Stable
In-Reply-To: <CACna6rwLgE+o2mcRTemLFAqzdsEoA9Xyx8GyEQTh5qbv1iZ04A@mail.gmail.com>

On 02/18/2013 10:18 AM, Rafał Miłecki wrote:
> 2013/2/18 Larry Finger <Larry.Finger@lwfinger.net>:
>> Bastian Bittorf reported that some of the silent freezes on a Linksys WRT54G
>> were due to overflow of the RX DMA ring buffer, which was created with 64
>> slots. That finding reminded me that I was seeing similar crashed on a netbook,
>> which also has a relatively slow processor. After increasing the number of
>> slots to 128, runs on the netbook that previously failed now worked; however,
>> I found that 109 slots had been used in one test. For that reason, the number
>> of slots is being increased to 256.
>
> So probably ideal solution is to use 128 *and* fix the driver's
> failing on overflow ;)
>
> Did you try it on some old device? Just for sure firmware&DMA will
> handle it correctly.

I tested on BCM4318 (which is pretty old), and two different BCM4312 (14e4:4315) 
units. I think the firmware and DMA can handle it. After all, all the TX rings 
have 256 slots. There is, however, a question of the memory. TX only acquires 
the buffers when needed, but RX has to get them in advance, thus 256 slots there 
will waste a lot of memory.

I agree that there be two patches, depending on Bastian's testing. The slot size 
change can be backported to stable.

Larry

^ permalink raw reply

* [PATCH v2] net: fec: Fix the disabling of RX interrupt
From: Fabio Estevam @ 2013-02-18 20:04 UTC (permalink / raw)
  To: davem; +Cc: Frank.Li, shawn.guo, marex, s.hauer, netdev, Fabio Estevam

The correct way to disable FEC RX interrupt is to clean only the FEC_ENET_RXF 
bit.

Since commit dc975382d2e (net: fec: add napi support to improve proformance) 
FEC_RX_DISABLED_IMASK is being written to the FEC_IMASK register, which also 
incorrectly sets other bits as per the definitions below: 

#define FEC_DEFAULT_IMASK (FEC_ENET_TXF | FEC_ENET_RXF | FEC_ENET_MII)
#define FEC_RX_DISABLED_IMASK (FEC_DEFAULT_IMASK & (~FEC_ENET_RXF))

This fixes the following kernel crash:

Unable to handle kernel NULL pointer dereference at virtual address 00000002
pgd = 80004000
[00000002] *pgd=00000000
Internal error: Oops: 5 [#1] SMP ARM
Modules linked in:
CPU: 0    Not tainted  (3.8.0-rc7-next-20130218+ #1192)
PC is at fec_enet_interrupt+0xd0/0x354
LR is at fec_enet_interrupt+0xb8/0x354
pc : [<8034592c>]    lr : [<80345914>]    psr: 60000193

Signed-off-by: Fabio Estevam <fabio.estevam@freescale.com>
---
Changes since v1:
- Fix it also inside fec_enet_init and fix the kernel crash.

 drivers/net/ethernet/freescale/fec.c |   13 +++++++++----
 1 file changed, 9 insertions(+), 4 deletions(-)

diff --git a/drivers/net/ethernet/freescale/fec.c b/drivers/net/ethernet/freescale/fec.c
index 0fe68c4..4eb0201 100644
--- a/drivers/net/ethernet/freescale/fec.c
+++ b/drivers/net/ethernet/freescale/fec.c
@@ -811,6 +811,7 @@ fec_enet_interrupt(int irq, void *dev_id)
 	struct fec_enet_private *fep = netdev_priv(ndev);
 	uint int_events;
 	irqreturn_t ret = IRQ_NONE;
+	int reg;
 
 	do {
 		int_events = readl(fep->hwp + FEC_IEVENT);
@@ -821,8 +822,9 @@ fec_enet_interrupt(int irq, void *dev_id)
 
 			/* Disable the RX interrupt */
 			if (napi_schedule_prep(&fep->napi)) {
-				writel(FEC_RX_DISABLED_IMASK,
-					fep->hwp + FEC_IMASK);
+				reg = readl(fep->hwp + FEC_IMASK);
+				reg &= ~FEC_ENET_RXF;
+				writel(reg, fep->hwp + FEC_IMASK);
 				__napi_schedule(&fep->napi);
 			}
 		}
@@ -1598,7 +1600,7 @@ static int fec_enet_init(struct net_device *ndev)
 	struct fec_enet_private *fep = netdev_priv(ndev);
 	struct bufdesc *cbd_base;
 	struct bufdesc *bdp;
-	int i;
+	int i, reg;
 
 	/* Allocate memory for buffer descriptors. */
 	cbd_base = dma_alloc_coherent(NULL, PAGE_SIZE, &fep->bd_dma,
@@ -1628,7 +1630,10 @@ static int fec_enet_init(struct net_device *ndev)
 	ndev->netdev_ops = &fec_netdev_ops;
 	ndev->ethtool_ops = &fec_enet_ethtool_ops;
 
-	writel(FEC_RX_DISABLED_IMASK, fep->hwp + FEC_IMASK);
+	reg = readl(fep->hwp + FEC_IMASK);
+	reg &= ~FEC_ENET_RXF;
+	writel(reg, fep->hwp + FEC_IMASK);
+
 	netif_napi_add(ndev, &fep->napi, fec_enet_rx_napi, FEC_NAPI_WEIGHT);
 
 	/* Initialize the receive buffer descriptors. */
-- 
1.7.9.5

^ permalink raw reply related

* Re: SYSFS "errors"
From: Felipe Balbi @ 2013-02-18 20:05 UTC (permalink / raw)
  To: Mauro Carvalho Chehab
  Cc: balbi, Greg KH, Linux Kernel Mailing List, Steven Rostedt,
	Frederic Weisbecker, Ingo Molnar, JBottomley, linux-scsi, davem,
	netdev, Doug Thompson, linux-edac, rjw, linux-pm
In-Reply-To: <20130218164638.7cb53baa@redhat.com>

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

Hi,

On Mon, Feb 18, 2013 at 04:46:38PM -0300, Mauro Carvalho Chehab wrote:
> > > > No such device - /sys/devices/system/edac/mc/mc0/sdram_scrub_rate
> > > 
> > > Odd, go ask the edac developers
> > 
> > will do ;-)
> 
> Well, the question is missing ;) /me assumes that you want to talk about
> suspending/resume and EDAC, right?

oops, my bad. The thing is that file has read permission but reading it
isn't allowed ;-)

-- 
balbi

[-- Attachment #2: Digital signature --]
[-- Type: application/pgp-signature, Size: 836 bytes --]

^ permalink raw reply

* Re: pull request: wireless-next 2013-02-18
From: David Miller @ 2013-02-18 20:03 UTC (permalink / raw)
  To: linville-2XuSBdqkA4R54TAoqtyWWQ
  Cc: linux-wireless-u79uwXL29TY76Z2rM5mHXA,
	netdev-u79uwXL29TY76Z2rM5mHXA
In-Reply-To: <20130218195448.GC12505-2XuSBdqkA4R54TAoqtyWWQ@public.gmane.org>

From: "John W. Linville" <linville-2XuSBdqkA4R54TAoqtyWWQ@public.gmane.org>
Date: Mon, 18 Feb 2013 14:54:48 -0500

> Please let me know if there are problems!

I'll pull this and sans build problems will push it back out to
net-next, thanks John.
--
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: [PATCH 0/4] Minor vSockets fixes
From: David Miller @ 2013-02-18 20:03 UTC (permalink / raw)
  To: acking; +Cc: pv-drivers, netdev, linux-kernel, virtualization
In-Reply-To: <1361203453-1347-1-git-send-email-acking@vmware.com>

From: Andy King <acking@vmware.com>
Date: Mon, 18 Feb 2013 08:04:09 -0800

> Minor vSockets fixes, two of which were reported on LKML.

Series applied, thanks.

^ permalink raw reply

* Re: [PATCH v3] net: fec: Do a sanity check on the gpio number
From: David Miller @ 2013-02-18 20:00 UTC (permalink / raw)
  To: festevam; +Cc: s.hauer, shawn.guo, marex, netdev, fabio.estevam
In-Reply-To: <CAOMZO5DyfksHf9CK9MUGmdwNPmwc2EXtY+3krNffYdivvPr=0Q@mail.gmail.com>

From: Fabio Estevam <festevam@gmail.com>
Date: Mon, 18 Feb 2013 16:51:49 -0300

> On Mon, Feb 18, 2013 at 4:47 PM, David Miller <davem@davemloft.net> wrote:
>> From: Fabio Estevam <festevam@gmail.com>
>> Date: Sun, 17 Feb 2013 12:29:24 -0300
>>
>>> Since commit 372e722ea4d (gpiolib: use descriptors internally) the following
>>> warning is seen on a mx28evk board:
>>
>> [davem@drr linux]$ git describe 372e722ea4d
>> fatal: Not a valid object name 372e722ea4d
>> [davem@drr linux]$
>>
>> That commit ID doesn't exist in any tree I have access to.
> 
> It exists in linux-next.

linux-next commits are not valid to reference if they are not
either in the target tree where your patch belongs or Linus's
tree.

And if the change that causes the change to be needed doesn't even
exist in my tree or Linus's upstream, your "fix" has no business in my
tree either.

^ permalink raw reply

* Re: [RFC PATCH] xfrm: release neighbor upon dst destruction
From: David Miller @ 2013-02-18 19:58 UTC (permalink / raw)
  To: r.kuntz; +Cc: netdev, steffen.klassert, yoshfuji
In-Reply-To: <311F962F-9DAF-4B24-B7FD-F158895D304D@ipflavors.com>

From: Romain KUNTZ <r.kuntz@ipflavors.com>
Date: Mon, 18 Feb 2013 13:36:24 +0100

> Neighbor is cloned in xfrm6_fill_dst but seems to never be released.
> Neighbor entry should be released when XFRM6 dst entry is destroyed
> in xfrm6_dst_destroy, otherwise references may be kept forever on 
> the device pointed by the neighbor entry.
> 
> I may not have understood all the subtleties of XFRM & dst so I would
> be happy to receive comments on this patch. 
> 
> Signed-off-by: Romain Kuntz <r.kuntz@ipflavors.com>

This patch is definitely correct.

Applied and queued up for -stable, thanks.

^ permalink raw reply

* [PATCH net-next v2 1/2] ip_gre: allow CSUM capable devices to handle packets
From: Dmitry Kravkov @ 2013-02-18 19:50 UTC (permalink / raw)
  To: davem, netdev; +Cc: Dmitry Kravkov

If device is not able to handle checksumming it will
be handled in dev_xmit

Signed-off-by: Dmitry Kravkov <dmitry@broadcom.com>
---
Changes from v1: fixed email address

 net/ipv4/ip_gre.c |    7 ++-----
 1 files changed, 2 insertions(+), 5 deletions(-)

diff --git a/net/ipv4/ip_gre.c b/net/ipv4/ip_gre.c
index a56f118..cdc31ac 100644
--- a/net/ipv4/ip_gre.c
+++ b/net/ipv4/ip_gre.c
@@ -745,12 +745,9 @@ static struct sk_buff *handle_offloads(struct sk_buff *skb)
 			goto error;
 		skb_shinfo(skb)->gso_type |= SKB_GSO_GRE;
 		return skb;
-	} else if (skb->ip_summed == CHECKSUM_PARTIAL) {
-		err = skb_checksum_help(skb);
-		if (unlikely(err))
-			goto error;
 	}
-	skb->ip_summed = CHECKSUM_NONE;
+	if (skb->ip_summed != CHECKSUM_PARTIAL)
+		skb->ip_summed = CHECKSUM_NONE;
 
 	return skb;
 
-- 
1.7.7.2

^ permalink raw reply related

* [PATCH linux-next] rt2x00: rt2x00pci_regbusy_read() - only print register access failure once
From: Tim Gardner @ 2013-02-18 19:56 UTC (permalink / raw)
  To: linux-kernel
  Cc: Tim Gardner, Ivo van Doorn, Gertjan van Wingerde, Helmut Schaa,
	John W. Linville, linux-wireless, users, netdev, stable

BugLink: http://bugs.launchpad.net/bugs/1128840

It appears that when this register read fails it never recovers, so
I think there is no need to repeat the same error message ad infinitum.

Cc: Ivo van Doorn <IvDoorn@gmail.com>
Cc: Gertjan van Wingerde <gwingerde@gmail.com>
Cc: Helmut Schaa <helmut.schaa@googlemail.com>
Cc: "John W. Linville" <linville@tuxdriver.com>
Cc: linux-wireless@vger.kernel.org
Cc: users@rt2x00.serialmonkey.com
Cc: netdev@vger.kernel.org
Cc: stable@vger.kernel.org
Signed-off-by: Tim Gardner <tim.gardner@canonical.com>
---

This patch applies as far back as 3.0.65 (and maybe older but that is
as far back as I checked).

 drivers/net/wireless/rt2x00/rt2x00pci.c |    4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/drivers/net/wireless/rt2x00/rt2x00pci.c b/drivers/net/wireless/rt2x00/rt2x00pci.c
index a0c8cae..b1c673e 100644
--- a/drivers/net/wireless/rt2x00/rt2x00pci.c
+++ b/drivers/net/wireless/rt2x00/rt2x00pci.c
@@ -52,8 +52,8 @@ int rt2x00pci_regbusy_read(struct rt2x00_dev *rt2x00dev,
 		udelay(REGISTER_BUSY_DELAY);
 	}
 
-	ERROR(rt2x00dev, "Indirect register access failed: "
-	      "offset=0x%.08x, value=0x%.08x\n", offset, *reg);
+	printk_once(KERN_ERR "%s() Indirect register access failed: "
+	      "offset=0x%.08x, value=0x%.08x\n", __func__, offset, *reg);
 	*reg = ~0;
 
 	return 0;
-- 
1.7.9.5

^ permalink raw reply related

* pull request: wireless-next 2013-02-18
From: John W. Linville @ 2013-02-18 19:54 UTC (permalink / raw)
  To: davem-fT/PcQaiUtIeIZ0/mPfg9Q
  Cc: linux-wireless-u79uwXL29TY76Z2rM5mHXA,
	netdev-u79uwXL29TY76Z2rM5mHXA

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

Dave,

This probably is the last big pull request for wireless bits
for 3.9.  Of course, I'm sure there will be a few stragglers here
and there...surely a few bug fixes as well... :-) (In fact, I see
that Johannes has already queued-up a few more for me while I was
preparing this...)

Included are a number of pulls...

For mac80211-next, Johannes says:

"The biggest change I have is undoubtedly Marco's mesh powersave
implementation. Beyond that, I have a patch from Emmanuel to modify the
DTIM period API in mac80211, scan improvements and a removal of some
previous workaround code from Stanislaw, dynamic short slot time from
Thomas and 64-bit station byte counters from Vladimir. I also made a
number of changes myself, some related to WoWLAN, some auth/deauth
improvements and most of them BSS list cleanups."

"This time, I have relatively large number of fixes in various areas of
the code (a memory leak in regulatory, an RX race in mac80211, the new
radar checking caused a P2P device problem, some mesh issues with
stations, an older bug in tracing and for kernel-doc) as well as a
number of small new features. The biggest (in the diffstat) is my work
on hidden SSID tracking."

"Please pull to get
 * radar detection work from Simon
 * mesh improvements from Thomas
 * a connection monitoring/powersave fix from Wojciech
 * TDLS-related station management work from Jouni
 * VLAN crypto fixes from Michael Braun
 * CCK support in minstrel_ht from Felix
 * an SMPS (not SMSP, oops) related improvement in mac80211 (Emmanuel)
 * some WoWLAN work from Amitkumar Karwar: pattern match offset and a
   documentation fix
 * some WoWLAN work from myself (TCP connection wakeup feature API)
 * and a lot of VHT (and some HT) work (also from myself)

And a number of more random cleanups/fixes. I merged mac80211/master to
avoid a merge problem there."

And regarding iwlwifi-next, Johannes says:

"We continue work on our new driver, but I also have a WoWLAN and AP mode
improvement for the previous driver and a change to use threaded
interrupts to prepare us for working with non-PCIe devices."

Regarding wl12xx, Luca says:

"A few more patches intended for 3.9.  Mostly some clean-ups I've been
doing to make it easier to support device-tree.  Also including one bug
fix for wl12xx where the rates we advertise were wrong and an update in
the wlconf structure to support newer firmwares."

For the nfc-next bits, Samuel says:

"This is the second NFC pull request for 3.9.

We have:

- A few pn533 fixes on top of Waldemar refactorization of the driver, one of
  them fixes target mode.

- A new driver for Inside Secure microread chipset. It supports two
  physical layers: i2c and MEI. The MEI one depends on a patchset that's
  been sent to Greg Kroah-Hartman for inclusion into the 3.9 kernel [1]. The
  dependency is a KConfig one which means this code is not buildable as long
  as the MEI API is not usptream."

"This 3rd NFC pull request for 3.9 contains a fix for the microread MEI
physical layer support, as the MEI bus API changed.

From the MEI code, we now pass the MEI id back to the driver probe routine,
and we also pass a name and a MEI id table through the mei_bus_driver
structure. A few renames as well like e.g. mei_bus_driver to mei_driver or
mei_bus_client to mei_device in order to be closer to the driver model
practices."

For the ath6kl bits, Kalle says:

"There's not anything special here, most of the patches are just code
cleanup. The only functional changes are using the beacon interval from user
space and fixing a crash which happens when inserting and removing the
module in a loop."

Also, I pulled the wireless tree in order to resolve some pending
merge issues.  On top of that, there is a bunch of work on brcmfmac
that leads up to P2P support.  Also, mwifiex, rtlwifi, and a variety
of other drivers see some basic cleanups and minor enhancements.

Please let me know if there are problems!

Thanks,

John

---

The following changes since commit 4153577a8d318ae02b3791341e10e78416de402f:

  tg3: Use different macros for pci_chip_rev_id accesses (2013-02-18 12:45:53 -0500)

are available in the git repository at:

  git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-next.git for-davem

for you to fetch changes up to 98d5fac2330779e6eea6431a90b44c7476260dcc:

  Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-next into for-davem (2013-02-18 13:47:13 -0500)

----------------------------------------------------------------

Alexander Bondar (1):
      mac80211: add vif debugfs driver callbacks

Amitkumar Karwar (2):
      nl80211: minor correction in sample wowlan mask calculation
      nl80211: add packet offset information for wowlan pattern

Arend van Spriel (9):
      brcmfmac: add chip information to the bus interface
      brcmfmac: add function to retrieve chip information
      brcmfmac: fix problem connecting to AP without security
      brcmfmac: add peer-to-peer group discovery support
      brcmfmac: add support for creating P2P client/GO interface
      brcmfmac: fix compiler warning on printf format
      brcmfmac: fix generation of the p2p related mac addresses
      brcmfmac: implement support for deleting virtual interfaces
      brcmfmac: change function signatures

Avinash Patil (5):
      mwifiex: store card specific data in PCI device table entry
      mwifiex: separate ring initialization and ring creation routines
      mwifiex: define generic data type for PCIe ring buffers
      mwifiex: add PCIe8897 support
      mwifiex: device specific sleep cookie handling for PCIe

Beni Lev (1):
      iwlwifi: mvm: fix TKIP key updating

Catalin Iacob (1):
      rtlwifi: Initialize rate_init member of struct rate_control_ops

Christian Lamparter (1):
      mac80211: protect rx-path with spinlock

Cong Ding (1):
      net: wireless/rtlwifi: fix uninitialized variable issue

Dan Carpenter (2):
      NFC: llcp: integer underflow in nfc_llcp_set_remote_gb()
      brcmsmac: fix brcms_c_country_valid()

Emanuel Taube (1):
      mac80211: Add the DS Params for mesh to every band

Emmanuel Grumbach (7):
      mac80211: inform the driver about update of dtim_period
      iwlwifi: don't ack the card state notification
      iwlwifi: mvm: fix the keyidx assignment
      iwlwifi: mvm: fix locking in iwl_mvm_ipv6_addr_change
      mac80211: allow driver to be stateless wrt. SMSP requests
      iwlwifi: mvm: use atomic interface iteration to avoid deadlock
      iwlwifi: mvm: beautify code in rx_handlers

Eric Lapuyade (1):
      NFC: Initial support for Inside Secure microread

Felix Fietkau (3):
      mac80211/minstrel_ht: show the number of retries for each rate in debugfs
      mac80211/minstrel_ht: remove the sampling bypass check for the lowest rate
      mac80211/minstrel_ht: add support for using CCK rates

Hante Meuleman (32):
      brcmfmac: Remove drvr_up from bus interface.
      brcmfmac: Remove copy mac address from drvr at netdev up.
      brcmfmac: Use struct brcmf_if in brcmf_configure_opensecurity.
      brcmfmac: Track pending 8021x frames per ifp.
      brcmfmac: Add logging for FIL int set/get cmds.
      brcmfmac: Track statistics per ifp.
      brcmfmac: Update tracelogging for multiple netdevs.
      brcmfmac: Cleanup function brcmf_notifiy_connect_status_ap.
      brcmfmac: Use single function for channel to chanspec.
      brcmfmac: use brcmf_if::bssidx as index in interface list
      brcmfmac: Check null pointer on brcmf_dev_reset.
      brcmfmac: add support for P2P listen mode.
      brcmfmac: update escan for multiple bss and simplify.
      brcmfmac: update p2p add and delete vif routines.
      brcmfmac: add p2p change vif routines.
      brcmfmac: Fix bug mgmt_rx_register
      brcmfmac: Update connect setup/handling routines for multiple bss.
      brcmfmac: Update AP mode for GO creation.
      brcmfmac: Add handling of receiving P2P action frames.
      brcmfmac: P2P action frame tx.
      brcmfmac: Use real cookie value for p2p remain on channel.
      brcmfmac: Create p2p0 netdev via module variable.
      brcmfmac: Use role from wdev on AP commands and fix stop_ap.
      brcmfmac: Put printing action frames code under debug flag.
      brcmfmac: Ignore E_ADD_IF for ifidx 0.
      brcmfmac: Reject change vif for p2p if.
      brcmfmac: Update netdev configuration in wiphy for p2p.
      brcmfmac: Remove sleep on del_station.
      brcmfmac: Fix rtnl_lock lockup when registering netdev.
      brcmfmac: Cleanup of unused defines.
      brcmfmac: Create netdev before returning from add_virtual_intf.
      brcmfmac: Add tx p2p off-channel support.

Ilan Peer (3):
      iwlwifi: mvm: Update quota settings for all bindings
      iwlwifi: mvm: Change the Time Event type used for ROC
      cfg80211: fix radar check for P2P_DEVICE

Jiri Slaby (1):
      NET: ath5k, check ath5k_eeprom_mode_from_channel retval

Joe Perches (3):
      mwl8k: Remove unnecessary alloc/OOM messages
      brcmsmac: Downgrade d11hdrs_mac80211 error messages to warnings.
      brcmsmac: Remove unnecessary memset casts

Johannes Berg (74):
      Merge remote-tracking branch 'wireless-next/master' into HEAD
      cfg80211: add SME state to warning in __cfg80211_mlme_disassoc
      cfg80211/mac80211: support reporting wakeup reason
      mac80211: remove assoc data "sent_assoc"
      mac80211: remove last_probe_resp from bss
      mac80211: remove unused mesh data from bss
      cfg80211: remove free_priv BSS API
      mac80211: start auth/assoc timeout on frame status
      mac80211: send deauth when connection is lost
      mac80211: always allow calling ieee80211_connection_loss()
      cfg80211: refactor hidden SSID finding
      cfg80211: fix BSS list hidden SSID lookup
      cfg80211: simplify mesh BSS comparison
      cfg80211: remove unused cfg80211_get_mesh
      mac80211: remove unused SSID from BSS
      cfg80211: fix BSS IE allocation comment
      cfg80211: move locking into cfg80211_bss_age
      mac80211: allow transmitting deauth with tainted key
      mac80211: send deauth if connection was lost during suspend
      cfg80211: use lockdep to assert lock is held
      cfg80211: remove a local variable
      cfg80211: wrap BSS kref
      iwlwifi: use threaded interrupt handler
      Merge remote-tracking branch 'wireless-next/master' into HEAD
      cfg80211: pass wiphy to cfg80211_ref_bss/put_bss
      wireless: fix kernel-doc
      mac80211: fix AP beacon loss messages
      mac80211: fix chandef tracing bug
      mac80211: explicitly copy channels to VLANs where needed
      cfg80211: track hidden SSID networks properly
      cfg80211: remove scan ies NULL check
      cfg80211: move TSF into IEs
      mac80211: introduce beacon-only timing data
      mac80211: remove dynamic PS driver interface
      mac80211: remove IEEE80211_HW_SCAN_WHILE_IDLE
      mac80211: simplify idle handling
      mac80211: remove unused code to mark AP station authenticated
      Merge remote-tracking branch 'wireless-next/master' into iwlwifi-next
      iwlwifi: dvm: query and report WoWLAN wakeup reason
      iwlwifi: mvm: report wakeup reasons
      iwlwifi: dvm: apply beacon changes immediately
      iwlwifi: mvm: don't delay the association until after beacon
      iwlwifi: mvm: don't wait for session protection to start
      iwlwifi: mvm: update station when marked associated
      cfg80211: configuration for WoWLAN over TCP
      mac80211: fix auth/assoc timeout handling
      mac80211: don't call bss_info_changed on p2p-device/monitor
      mac80211: always unblock CSA queue stop when disconnecting
      mac80211: don't pick up WPA vendor IE
      mac80211: use spin_lock_bh() for tim_lock
      mac80211: use spin_lock_bh() for TKIP lock
      Merge remote-tracking branch 'mac80211/master' into HEAD
      mac80211: pass station to ieee80211_vht_cap_ie_to_sta_vht_cap
      mac80211: stop toggling IEEE80211_HT_CAP_SUP_WIDTH_20_40
      wireless: define operating mode action frame
      mac80211: track number of spatial streams
      mac80211: handle VHT operating mode notification
      mac80211: init HT TX data before rate control
      mac80211: fix HT/VHT disable flags
      mac80211: fix ieee80211_change_chandef name
      mac80211: handle operating mode notif in beacon/assoc response
      mac80211: disable HT/VHT if AP has no HT/VHT capability
      mac80211: clean up channel use in ieee80211_config_ht_tx
      mac80211: add ieee80211_vif_change_bandwidth
      mac80211: move ieee80211_determine_chantype function
      mac80211: properly track HT/VHT operation changes
      cfg80211: allow drivers to selectively disable 80/160 MHz
      nl80211: advertise HT/VHT channel limitations
      mac80211: constify IE parsing
      mac80211: stop modifying HT SMPS capability
      cfg80211: advertise extended capabilities to userspace
      mac80211: advertise operating mode notification capability
      nl80211: renumber NL80211_FEATURE_FULL_AP_CLIENT_STATE
      mac80211: prevent spurious HT/VHT downgrade message

John W. Linville (10):
      Merge branch 'for-john' of git://git.kernel.org/.../jberg/mac80211-next
      Merge branch 'for-linville' of git://git.kernel.org/.../luca/wl12xx
      Merge tag 'nfc-next-3.9-2' of git://git.kernel.org/.../sameo/nfc-next
      Merge tag 'nfc-next-3.9-3' of git://git.kernel.org/.../sameo/nfc-next
      Merge branch 'for-john' of git://git.kernel.org/.../jberg/mac80211-next
      Merge branch 'for-john' of git://git.kernel.org/.../iwlwifi/iwlwifi-next
      Merge branch 'master' of git://git.kernel.org/.../linville/wireless
      Merge branch 'for-john' of git://git.kernel.org/.../jberg/mac80211-next
      Merge branch 'for-linville' of git://github.com/kvalo/ath6kl
      Merge branch 'master' of git://git.kernel.org/.../linville/wireless-next into for-davem

Jonas Gorski (1):
      mwl8k: add single band 88W8366 PCI device IDs

Jouni Malinen (2):
      cfg80211: Pass station (extended) capability info to kernel
      cfg80211: Pass TDLS peer's QoS/HT/VHT information during set_station

Julia Lawall (1):
      drivers/net/wireless/ath/ath6kl/hif.c: drop if around WARN_ON

Karl Beldan (1):
      mac80211_hwsim: ask mac80211 to reserve space for chanctx.drv_priv

Larry Finger (4):
      rtlwifi: rtl8192cu: Fix NULL dereference BUG when using new_id
      rtlwifi: rtl8192cu: Add new USB ID
      cfg80211: Fix memory leak
      rtlwifi: Rework Kconfig

Luciano Coelho (10):
      wlcore: use single-role version when verifying the PLT firmware
      wlcore: remove unused set_power method
      wlcore: remove if_ops from platform_data
      wlcore: use wl12xx_platform_data pointer from wlcore_pdev_data
      wlcore: use PLATFORM_DEVID_AUTO for plat dev creation to avoid conflicts
      wlcore: move wl12xx_platform_data up and make it truly optional
      wlcore: don't hide real error code when booting fails
      wlcore: fix wrong remote rates when starting STA role
      wlcore: remove newly introduced alloc/OOM messages
      cfg80211: check vendor IE length to avoid overrun

Marco Porsch (1):
      mac80211: mesh power save basics

Michael Braun (2):
      mac80211: free ps->bc_buf skbs on vlan device stop
      mac80211: fix WPA with VLAN on AP side with ps-sta

Mohammed Shafi Shajakhan (9):
      ath6kl: Fix a mismatch in power management debug message
      ath6kl: Remove erroneous flag clearing
      ath6kl: Use standard way to assign the boolean variable
      ath6kl: remove unnecessary check for NULL skb
      ath6kl: Fix kernel panic on continuous driver load/unload
      ath6kl: trivial cleanup on interface type selection
      ath6kl: Parse beacon interval from userspace
      ath6kl: Move and rename ath6kl_cleanup_vif function
      ath6kl: minor optimization using if, else if

Piotr Haber (3):
      brcmfmac: fix mmc host locking issue
      brcmfmac: turn clocks on when reading shared info
      brcmfmac: remove unnecessary locking in trap info processing

Samuel Ortiz (3):
      NFC: microread: Add i2c physical layer
      NFC: microread: Add MEI physical layer
      NFC: microread: Fix mei physical layer

Seth Forshee (2):
      mac80211: Fix tx queue handling during scans
      mac80211: Add flushes before going off-channel

Simon Wunderlich (2):
      nl80211/cfg80211: add radar detection command/event
      mac80211: add radar detection command/event

Stanislaw Gruszka (4):
      mac80211: remove IEEE80211_HW_TEARDOWN_AGGR_ON_BAR_FAIL
      mac80211: improve latency and throughput while software scanning
      rt2x00: check for dma mappings errors
      iwlegacy: more checks for dma mapping errors

Sujith Manoharan (2):
      ath9k: Fix ATH9K_HW_CAP_HT usage
      ath9k: Fix IBSS joiner mode

Thierry Escande (1):
      NFC: pn533: Fix target polling mode

Thomas Pedersen (6):
      mac80211: dynamic short slot time for MBSSs
      mac80211: stop plink timer only on mesh interfaces
      mac80211: fix mesh sta teardown
      mac80211: consolidate MBSS change notification
      mac80211: cache mesh beacon
      mac80211: generate mesh probe responses

Tim Gardner (2):
      brcmsmac: fix u16 overflow warning
      brcmsmac: avoid 512 byte stack variable

Tomasz Guszkowski (1):
      p54usb: corrected USB ID for T-Com Sinus 154 data II

Victor Goldenshtein (1):
      wl18xx: add new phy configuration parameters for telec support

Vladimir Kondratiev (2):
      cfg80211: expand per-station byte counters to 64bit
      ath6kl: provide 64-bit per-station byte counters

Waldemar Rymarkiewicz (2):
      nfc: pn533: Use static poll_mod and std_frame_ops
      nfc: pn533: Remove unreachable code

Wojciech Dubowik (1):
      mac80211: fix ieee80211_sta_tx_notify for nullfunc

Xose Vazquez Perez (2):
      wireless: rt2x00: rt2800usb add Sweex ids
      wireless: rt2x00: rt2800usb add "unknown" devices

 arch/arm/mach-omap2/board-omap3evm.c               |   10 +-
 drivers/net/wireless/ath/ath5k/phy.c               |    4 +
 drivers/net/wireless/ath/ath5k/reset.c             |    2 +
 drivers/net/wireless/ath/ath6kl/cfg80211.c         |  117 +-
 drivers/net/wireless/ath/ath6kl/cfg80211.h         |    2 -
 drivers/net/wireless/ath/ath6kl/core.h             |    2 +-
 drivers/net/wireless/ath/ath6kl/htc_pipe.c         |   26 +-
 drivers/net/wireless/ath/ath6kl/init.c             |   36 +-
 drivers/net/wireless/ath/ath6kl/usb.c              |    6 +-
 drivers/net/wireless/ath/ath6kl/wmi.c              |   30 +-
 drivers/net/wireless/ath/ath6kl/wmi.h              |    6 +
 drivers/net/wireless/ath/ath9k/ath9k.h             |    1 +
 drivers/net/wireless/ath/ath9k/beacon.c            |  113 +-
 drivers/net/wireless/ath/ath9k/main.c              |   13 +-
 drivers/net/wireless/ath/ath9k/rc.c                |    2 +-
 drivers/net/wireless/ath/ath9k/recv.c              |    2 +-
 drivers/net/wireless/ath/ath9k/xmit.c              |    5 +-
 drivers/net/wireless/ath/carl9170/main.c           |    2 +-
 drivers/net/wireless/ath/wil6210/cfg80211.c        |    2 +-
 drivers/net/wireless/ath/wil6210/wmi.c             |    2 +-
 drivers/net/wireless/brcm80211/brcmfmac/Makefile   |    3 +-
 drivers/net/wireless/brcm80211/brcmfmac/dhd.h      |   57 +-
 drivers/net/wireless/brcm80211/brcmfmac/dhd_bus.h  |   19 +-
 drivers/net/wireless/brcm80211/brcmfmac/dhd_cdc.c  |    8 +
 .../net/wireless/brcm80211/brcmfmac/dhd_linux.c    |  311 +--
 drivers/net/wireless/brcm80211/brcmfmac/dhd_sdio.c |   25 +-
 drivers/net/wireless/brcm80211/brcmfmac/fweh.c     |   11 +-
 drivers/net/wireless/brcm80211/brcmfmac/fweh.h     |    6 +-
 drivers/net/wireless/brcm80211/brcmfmac/fwil.c     |    7 +-
 .../net/wireless/brcm80211/brcmfmac/fwil_types.h   |   66 +
 drivers/net/wireless/brcm80211/brcmfmac/p2p.c      | 2277 ++++++++++++++++++++
 drivers/net/wireless/brcm80211/brcmfmac/p2p.h      |  183 ++
 drivers/net/wireless/brcm80211/brcmfmac/usb.c      |   11 +-
 .../net/wireless/brcm80211/brcmfmac/wl_cfg80211.c  | 1375 ++++++++----
 .../net/wireless/brcm80211/brcmfmac/wl_cfg80211.h  |  113 +-
 drivers/net/wireless/brcm80211/brcmsmac/channel.c  |    3 +-
 drivers/net/wireless/brcm80211/brcmsmac/main.c     |   65 +-
 drivers/net/wireless/iwlegacy/3945-mac.c           |   51 +-
 drivers/net/wireless/iwlegacy/4965-mac.c           |   38 +-
 drivers/net/wireless/iwlegacy/4965-rs.c            |    3 +-
 drivers/net/wireless/iwlegacy/common.c             |   32 +-
 drivers/net/wireless/iwlwifi/dvm/agn.h             |    2 +-
 drivers/net/wireless/iwlwifi/dvm/commands.h        |   18 +
 drivers/net/wireless/iwlwifi/dvm/mac80211.c        |  166 +-
 drivers/net/wireless/iwlwifi/dvm/rs.c              |   12 +-
 drivers/net/wireless/iwlwifi/dvm/rx.c              |    2 +-
 drivers/net/wireless/iwlwifi/dvm/rxon.c            |    5 +-
 drivers/net/wireless/iwlwifi/dvm/sta.c             |   40 +-
 drivers/net/wireless/iwlwifi/dvm/tx.c              |   26 +-
 drivers/net/wireless/iwlwifi/iwl-op-mode.h         |   10 +-
 drivers/net/wireless/iwlwifi/iwl-trans.h           |   29 +-
 drivers/net/wireless/iwlwifi/mvm/d3.c              |  174 +-
 drivers/net/wireless/iwlwifi/mvm/fw-api.h          |    3 +
 drivers/net/wireless/iwlwifi/mvm/fw.c              |    4 -
 drivers/net/wireless/iwlwifi/mvm/mac-ctxt.c        |    6 +-
 drivers/net/wireless/iwlwifi/mvm/mac80211.c        |   20 +-
 drivers/net/wireless/iwlwifi/mvm/ops.c             |   41 +-
 drivers/net/wireless/iwlwifi/mvm/power.c           |    2 +-
 drivers/net/wireless/iwlwifi/mvm/quota.c           |   29 +-
 drivers/net/wireless/iwlwifi/mvm/rs.c              |   30 +-
 drivers/net/wireless/iwlwifi/mvm/rx.c              |    2 +-
 drivers/net/wireless/iwlwifi/mvm/sta.c             |   40 +-
 drivers/net/wireless/iwlwifi/mvm/sta.h             |    6 +-
 drivers/net/wireless/iwlwifi/mvm/time-event.c      |  232 +-
 drivers/net/wireless/iwlwifi/mvm/tx.c              |   12 +-
 drivers/net/wireless/iwlwifi/pcie/internal.h       |    3 +-
 drivers/net/wireless/iwlwifi/pcie/rx.c             |   40 +-
 drivers/net/wireless/iwlwifi/pcie/trans.c          |   11 +-
 drivers/net/wireless/iwlwifi/pcie/tx.c             |    8 +-
 drivers/net/wireless/libertas/cfg.c                |    8 +-
 drivers/net/wireless/mac80211_hwsim.c              |    1 +
 drivers/net/wireless/mwifiex/Kconfig               |    4 +-
 drivers/net/wireless/mwifiex/cfg80211.c            |    2 +-
 drivers/net/wireless/mwifiex/pcie.c                |  769 ++++---
 drivers/net/wireless/mwifiex/pcie.h                |  215 +-
 drivers/net/wireless/mwifiex/scan.c                |    2 +-
 drivers/net/wireless/mwifiex/sta_ioctl.c           |   11 +-
 drivers/net/wireless/mwl8k.c                       |    2 +
 drivers/net/wireless/orinoco/scan.c                |    4 +-
 drivers/net/wireless/p54/p54usb.c                  |    2 +-
 drivers/net/wireless/rndis_wlan.c                  |    4 +-
 drivers/net/wireless/rt2x00/rt2400pci.c            |   12 +-
 drivers/net/wireless/rt2x00/rt2500pci.c            |    7 +-
 drivers/net/wireless/rt2x00/rt2800usb.c            |   21 +
 drivers/net/wireless/rt2x00/rt2x00.h               |    4 +-
 drivers/net/wireless/rt2x00/rt2x00queue.c          |   31 +-
 drivers/net/wireless/rtlwifi/Kconfig               |   50 +-
 drivers/net/wireless/rtlwifi/base.c                |    7 +-
 drivers/net/wireless/rtlwifi/rc.c                  |   12 +-
 drivers/net/wireless/rtlwifi/rtl8192ce/hw.c        |    6 +-
 drivers/net/wireless/rtlwifi/rtl8192ce/trx.c       |    5 +-
 drivers/net/wireless/rtlwifi/rtl8192cu/mac.c       |    2 +-
 drivers/net/wireless/rtlwifi/rtl8192cu/sw.c        |    9 +-
 drivers/net/wireless/rtlwifi/rtl8192de/hw.c        |    3 +-
 drivers/net/wireless/rtlwifi/rtl8192de/trx.c       |    3 +-
 drivers/net/wireless/rtlwifi/rtl8192se/hw.c        |    3 +-
 drivers/net/wireless/rtlwifi/rtl8192se/trx.c       |    3 +-
 drivers/net/wireless/rtlwifi/rtl8723ae/hw.c        |    3 +-
 drivers/net/wireless/rtlwifi/rtl8723ae/trx.c       |    3 +-
 drivers/net/wireless/rtlwifi/usb.c                 |    5 +-
 drivers/net/wireless/rtlwifi/usb.h                 |    3 +-
 drivers/net/wireless/ti/Kconfig                    |    9 +
 drivers/net/wireless/ti/Makefile                   |    4 +-
 ...12xx_platform_data.c => wilink_platform_data.c} |    0
 drivers/net/wireless/ti/wl1251/event.c             |    6 +-
 drivers/net/wireless/ti/wl1251/main.c              |   24 +-
 drivers/net/wireless/ti/wl12xx/main.c              |    3 +-
 drivers/net/wireless/ti/wl18xx/conf.h              |    7 +-
 drivers/net/wireless/ti/wl18xx/main.c              |    7 +-
 drivers/net/wireless/ti/wlcore/Kconfig             |    5 -
 drivers/net/wireless/ti/wlcore/Makefile            |    3 -
 drivers/net/wireless/ti/wlcore/boot.c              |    4 +-
 drivers/net/wireless/ti/wlcore/cmd.c               |    8 +-
 drivers/net/wireless/ti/wlcore/main.c              |   18 +-
 drivers/net/wireless/ti/wlcore/sdio.c              |   35 +-
 drivers/net/wireless/ti/wlcore/spi.c               |   40 +-
 drivers/net/wireless/ti/wlcore/wlcore.h            |    1 -
 drivers/net/wireless/ti/wlcore/wlcore_i.h          |    5 +
 drivers/nfc/Kconfig                                |    1 +
 drivers/nfc/Makefile                               |    1 +
 drivers/nfc/microread/Kconfig                      |   35 +
 drivers/nfc/microread/Makefile                     |   10 +
 drivers/nfc/microread/i2c.c                        |  340 +++
 drivers/nfc/microread/mei.c                        |  246 +++
 drivers/nfc/microread/microread.c                  |  728 +++++++
 drivers/nfc/microread/microread.h                  |   33 +
 drivers/nfc/pn533.c                                |    8 +-
 drivers/staging/wlan-ng/cfg80211.c                 |    2 +-
 include/linux/ieee80211.h                          |   50 +-
 include/linux/platform_data/microread.h            |   35 +
 include/linux/wl12xx.h                             |   16 +-
 include/net/cfg80211.h                             |  226 +-
 include/net/mac80211.h                             |  170 +-
 include/uapi/linux/nl80211.h                       |  274 ++-
 net/mac80211/Kconfig                               |   11 +
 net/mac80211/Makefile                              |    3 +-
 net/mac80211/cfg.c                                 |   95 +-
 net/mac80211/chan.c                                |  155 +-
 net/mac80211/debug.h                               |   10 +
 net/mac80211/debugfs.c                             |    6 +-
 net/mac80211/debugfs_netdev.c                      |    5 +
 net/mac80211/debugfs_sta.c                         |    5 +-
 net/mac80211/driver-ops.h                          |   54 +-
 net/mac80211/ht.c                                  |  110 +-
 net/mac80211/ibss.c                                |   53 +-
 net/mac80211/ieee80211_i.h                         |  196 +-
 net/mac80211/iface.c                               |  132 +-
 net/mac80211/main.c                                |   42 +-
 net/mac80211/mesh.c                                |  284 ++-
 net/mac80211/mesh.h                                |   40 +-
 net/mac80211/mesh_hwmp.c                           |   49 +-
 net/mac80211/mesh_pathtbl.c                        |   12 +-
 net/mac80211/mesh_plink.c                          |  120 +-
 net/mac80211/mesh_ps.c                             |  598 +++++
 net/mac80211/mlme.c                                | 1081 ++++++----
 net/mac80211/offchannel.c                          |   35 +-
 net/mac80211/pm.c                                  |   12 +
 net/mac80211/rate.h                                |    2 +
 net/mac80211/rc80211_minstrel.c                    |   29 +
 net/mac80211/rc80211_minstrel.h                    |    2 +
 net/mac80211/rc80211_minstrel_ht.c                 |  181 +-
 net/mac80211/rc80211_minstrel_ht.h                 |    5 +-
 net/mac80211/rc80211_minstrel_ht_debugfs.c         |  112 +-
 net/mac80211/rx.c                                  |  161 +-
 net/mac80211/scan.c                                |   66 +-
 net/mac80211/sta_info.c                            |   38 +-
 net/mac80211/sta_info.h                            |   20 +-
 net/mac80211/status.c                              |   25 +-
 net/mac80211/tkip.c                                |   10 +-
 net/mac80211/trace.h                               |   23 +-
 net/mac80211/tx.c                                  |  109 +-
 net/mac80211/util.c                                |   82 +-
 net/mac80211/vht.c                                 |  172 +-
 net/mac80211/wme.c                                 |   13 +-
 net/mac80211/wpa.c                                 |    5 +-
 net/nfc/llcp/llcp.c                                |    5 +-
 net/wireless/chan.c                                |  142 +-
 net/wireless/core.c                                |    8 +-
 net/wireless/core.h                                |   35 +-
 net/wireless/ibss.c                                |    4 +-
 net/wireless/mlme.c                                |  136 +-
 net/wireless/nl80211.c                             |  783 ++++++-
 net/wireless/nl80211.h                             |    7 +
 net/wireless/reg.c                                 |   20 +-
 net/wireless/scan.c                                |  630 +++---
 net/wireless/sme.c                                 |   16 +-
 net/wireless/sysfs.c                               |    2 -
 net/wireless/trace.h                               |   80 +
 net/wireless/util.c                                |    2 +-
 189 files changed, 12387 insertions(+), 3236 deletions(-)
 create mode 100644 drivers/net/wireless/brcm80211/brcmfmac/fwil_types.h
 create mode 100644 drivers/net/wireless/brcm80211/brcmfmac/p2p.c
 create mode 100644 drivers/net/wireless/brcm80211/brcmfmac/p2p.h
 rename drivers/net/wireless/ti/{wlcore/wl12xx_platform_data.c => wilink_platform_data.c} (100%)
 create mode 100644 drivers/nfc/microread/Kconfig
 create mode 100644 drivers/nfc/microread/Makefile
 create mode 100644 drivers/nfc/microread/i2c.c
 create mode 100644 drivers/nfc/microread/mei.c
 create mode 100644 drivers/nfc/microread/microread.c
 create mode 100644 drivers/nfc/microread/microread.h
 create mode 100644 include/linux/platform_data/microread.h
 create mode 100644 net/mac80211/mesh_ps.c
-- 
John W. Linville		Someday the world will need a hero, and you
linville-2XuSBdqkA4R54TAoqtyWWQ@public.gmane.org			might be all we have.  Be ready.

[-- Attachment #2: Type: application/pgp-signature, Size: 836 bytes --]

^ 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