* Re: [PATCH] myri10ge: Fix typo of 'VMware' in comment.
From: Andrew Gallatin @ 2011-12-19 20:21 UTC (permalink / raw)
To: Vinson Lee; +Cc: netdev, linux-kernel, trivial
In-Reply-To: <1324325875-30907-1-git-send-email-vlee@vmware.com>
On 12/19/11 15:17, Vinson Lee wrote:
> Signed-off-by: Vinson Lee<vlee@vmware.com>
Acked by: Andrew Gallatin <gallatin@myri.com>
^ permalink raw reply
* [PATCH] myri10ge: Fix typo of 'VMware' in comment.
From: Vinson Lee @ 2011-12-19 20:17 UTC (permalink / raw)
To: mason, gallatin, netdev, linux-kernel; +Cc: vlee, trivial
Signed-off-by: Vinson Lee <vlee@vmware.com>
---
.../net/ethernet/myricom/myri10ge/myri10ge_mcp.h | 2 +-
1 files changed, 1 insertions(+), 1 deletions(-)
diff --git a/drivers/net/ethernet/myricom/myri10ge/myri10ge_mcp.h b/drivers/net/ethernet/myricom/myri10ge/myri10ge_mcp.h
index 11be150..b7fc26c 100644
--- a/drivers/net/ethernet/myricom/myri10ge/myri10ge_mcp.h
+++ b/drivers/net/ethernet/myricom/myri10ge/myri10ge_mcp.h
@@ -356,7 +356,7 @@ enum myri10ge_mcp_cmd_type {
MXGEFW_CMD_GET_DCA_OFFSET = 56,
/* offset of dca control for WDMAs */
- /* VMWare NetQueue commands */
+ /* VMware NetQueue commands */
MXGEFW_CMD_NETQ_GET_FILTERS_PER_QUEUE = 57,
MXGEFW_CMD_NETQ_ADD_FILTER = 58,
/* data0 = filter_id << 16 | queue << 8 | type */
--
1.7.1
^ permalink raw reply related
* Re: [PATCH] sctp: Do not account for sizeof(struct sk_buff) in estimated rwnd
From: David Miller @ 2011-12-19 20:10 UTC (permalink / raw)
To: tgraf; +Cc: vladislav.yasevich, linux-sctp, netdev
In-Reply-To: <1324303900-8360-1-git-send-email-tgraf@redhat.com>
From: Thomas Graf <tgraf@redhat.com>
Date: Mon, 19 Dec 2011 15:11:40 +0100
> When checking whether a DATA chunk fits into the estimated rwnd a
> full sizeof(struct sk_buff) is added to the needed chunk size. This
> quickly exhausts the available rwnd space and leads to packets being
> sent which are much below the PMTU limit. This can lead to much worse
> performance.
...
Vlad, please review this.
Thanks.
^ permalink raw reply
* Re: linux-3.0.x regression with ipv4 routes having mtu
From: David Miller @ 2011-12-19 20:09 UTC (permalink / raw)
To: steffen.klassert; +Cc: timo.teras, netdev
In-Reply-To: <20111219135259.GK6348@secunet.com>
From: Steffen Klassert <steffen.klassert@secunet.com>
Date: Mon, 19 Dec 2011 14:52:59 +0100
> On Fri, Dec 16, 2011 at 04:30:26PM +0200, Timo Teräs wrote:
>> On 12/16/2011 02:21 PM, Steffen Klassert wrote:
>> >
>> > "ip route flush cache" does not even flush the routing cache,
>> > it just markes the routing cache as invalid by changing the
>> > rt_genid which make the old routes invisible. And since we don't
>> > have rt_check_expire() anymore, we have to wait until we have
>> > collected gc_thresh (1024) useless routes before rt_garbage_collect()
>> > starts to remove some of them (btw. is this intentional).
>> >
>> > I think we need a trigger in rt_cache_invalidate() that expires
>> > all cached pmtu values similar to the routing cache entries.
>> > For a moment I thought we could just reset the __rt_peer_genid
>> > value back to zero to mark all cached pmtu values as expired,
>> > but that's apparently not save to do. So I came to no conclusion
>> > how to fix this today. Any ideas?
>>
>> Oh, right. This problem is secondary. As long as the mtu value is
>> reflected properly, I'll be happy :)
>>
>
> Well, "ip route flush cache" flushed the cached pmtu informations
> in 2.6.38 and before, now it does not do it anymore. I guess
> some users rely on the old behaviour, so it would be nice if we
> could restore it. I think we can fix this by adding a pmtu_genid,
> exactly in the same way as we have now the redirect_genid.
> I'll give this a try.
Actually, adding yet another ID is pointless.
Just get rid of redirect_genid, and use net->ipv4.rt_genid for all of
the necessary purposes. Let there be one ID in the inetpeer and use
the net->ipv4.rt_genid to drive it.
^ permalink raw reply
* Re: qeth_l3 build broken in net-next
From: David Miller @ 2011-12-19 20:05 UTC (permalink / raw)
To: blaschka; +Cc: netdev, linux-s390
In-Reply-To: <20111219132010.GA10345@tuxmaker.boeblingen.de.ibm.com>
From: Frank Blaschka <blaschka@linux.vnet.ibm.com>
Date: Mon, 19 Dec 2011 14:20:10 +0100
> qeth_l3 build is broken in net-next
>
> drivers/s390/net/qeth_l3_main.c: In function 'qeth_l3_neigh_setup':
> drivers/s390/net/qeth_l3_main.c:3277: error: 'struct neigh_parms' has no member named 'neigh_setup'
> make[2]: *** [drivers/s390/net/qeth_l3_main.o] Error 1
> make[1]: *** [drivers/s390/net] Error 2
> make: *** [drivers/s390] Error 2
>
> commit 5c3ddec73d01a1fae9409c197078cb02c42238c3
> net: Remove unused neighbour layer ops.
>
> cause the problem. Actually qeth_l3 uses neigh_setup.
> Can you revert commit 5c3ddec73d01a1fae9409c197078cb02c42238c3 ?
Done, sorry about that.
^ permalink raw reply
* Re: LARTC mailing list
From: David Miller @ 2011-12-19 19:59 UTC (permalink / raw)
To: andy
Cc: darkbasic, postmaster, netfilter, lartc, andyqos, jsullivan,
lloyd, netdev
In-Reply-To: <1324314712.9582.80.camel@steve-pc>
From: Andrew Beverley <andy@andybev.com>
Date: Mon, 19 Dec 2011 17:11:52 +0000
> VGER postmasters: can we try a new LARTC list at VGER please?
I've created lartc@vger.kernel.org, enjoy.
^ permalink raw reply
* Re: [PATCH net-next 0/5] mlx4: link sensing changes and Fixes.
From: David Miller @ 2011-12-19 19:57 UTC (permalink / raw)
To: yevgenyp; +Cc: netdev
In-Reply-To: <4EEF4371.6010605@mellanox.co.il>
From: Yevgeny Petrilin <yevgenyp@mellanox.co.il>
Date: Mon, 19 Dec 2011 16:00:17 +0200
> This series presents link sensing logic changes (mostly for ConnectX3 devices)
> and some fixes to the driver in addition to the SRIOV code we submitted lately.
All applied, thanks.
^ permalink raw reply
* Re: [PATCH 13/14] drivers/ieee802154: IEEE 802.15.4 loopback driver
From: David Miller @ 2011-12-19 19:49 UTC (permalink / raw)
To: alex.bluesman.smirnov-Re5JQEeQqe8AvxtiuMwx3w
Cc: netdev-u79uwXL29TY76Z2rM5mHXA,
linux-zigbee-devel-5NWGOfrQmneRv+LV9MX5uipxlwaOVQ5f, alexander
In-Reply-To: <1324312434-13151-13-git-send-email-alex.bluesman.smirnov-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
From: Alexander Smirnov <alex.bluesman.smirnov-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
Date: Mon, 19 Dec 2011 19:33:53 +0300
> + unsigned int working:1;
Integer bit fields are troublesome, use a set of flags here, or if this
is likely to be the only set of state use a "bool" type.
> + list_for_each_entry(dp, &priv->fake->list, list)
> + if (dp != priv &&
> + dp->dev->phy->current_channel ==
> + priv->dev->phy->current_channel)
> + fakelb_hw_deliver(dp, skb);
Format the if() statement properly:
if (dp != priv &&
(dp->dev->phy->current_channel ==
priv->dev->phy->current_channel))
And use braces around the top-level list traversal since the basic block is
taking up multiple lines.
> +static int
> +fakelb_hw_start(struct ieee802154_dev *dev) {
> + struct fakelb_dev_priv *priv = dev->priv;
> +
> + if (priv->working)
> + return -EBUSY;
> +
> + priv->working = 1;
> +
> + return 0;
> +}
What prevents this "test and set" sequence from running in parallel with whatever
clears the ->working value and thus we end up losing the event?
> + ieee->phy->channels_supported[6] |= 0x3ffc00;
> +
> +
> + INIT_LIST_HEAD(&priv->list);
Excess empty line, there is no need for two of them, get rid of the
extra one.
------------------------------------------------------------------------------
Learn Windows Azure Live! Tuesday, Dec 13, 2011
Microsoft is holding a special Learn Windows Azure training event for
developers. It will provide a great way to learn Windows Azure and what it
provides. You can attend the event by watching it streamed LIVE online.
Learn more at http://p.sf.net/sfu/ms-windowsazure
^ permalink raw reply
* Re: [PATCH 12/14] mac802154: monitor device support
From: David Miller @ 2011-12-19 19:47 UTC (permalink / raw)
To: alex.bluesman.smirnov; +Cc: dbaryshkov, linux-zigbee-devel, netdev, alexander
In-Reply-To: <1324312434-13151-12-git-send-email-alex.bluesman.smirnov@gmail.com>
From: Alexander Smirnov <alex.bluesman.smirnov@gmail.com>
Date: Mon, 19 Dec 2011 19:33:52 +0300
> + IEEE802154_DEV_MONITOR = 1, /* for compatibility with WireShark */
What's this "compatability" all about? Explain it.
> + dev = alloc_netdev(sizeof(struct mac802154_sub_if_data),
> + name, mac802154_monitor_setup);
Line up the arguments properly.
> + break;
> default:
> dev = NULL;
> err = -EINVAL;
> diff --git a/net/mac802154/mac802154.h b/net/mac802154/mac802154.h
> index f6f6f0a..2a301d0 100644
> --- a/net/mac802154/mac802154.h
> +++ b/net/mac802154/mac802154.h
> @@ -90,6 +90,9 @@ extern struct ieee802154_reduced_mlme_ops mac802154_mlme_reduced;
> int mac802154_slave_open(struct net_device *dev);
> int mac802154_slave_close(struct net_device *dev);
>
> +void mac802154_monitors_rx(struct mac802154_priv *priv, struct sk_buff *skb);
> +void mac802154_monitor_setup(struct net_device *dev);
> +
> netdev_tx_t mac802154_tx(struct mac802154_priv *priv, struct sk_buff *skb,
> u8 page, u8 chan);
>
> diff --git a/net/mac802154/monitor.c b/net/mac802154/monitor.c
> new file mode 100644
> index 0000000..ccc5e81
> --- /dev/null
> +++ b/net/mac802154/monitor.c
> @@ -0,0 +1,115 @@
> +/*
> + * Copyright 2007, 2008, 2009 Siemens AG
> + *
> + * This program is free software; you can redistribute it and/or modify
> + * it under the terms of the GNU General Public License version 2
> + * as published by the Free Software Foundation.
> + *
> + * This program is distributed in the hope that it will be useful,
> + * but WITHOUT ANY WARRANTY; without even the implied warranty of
> + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
> + * GNU General Public License for more details.
> + *
> + * You should have received a copy of the GNU General Public License along
> + * with this program; if not, write to the Free Software Foundation, Inc.,
> + * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
> + *
> + * Written by:
> + * Dmitry Eremin-Solenikov <dbaryshkov@gmail.com>
> + * Sergey Lapin <slapin@ossfans.org>
> + * Maxim Gorbachyov <maxim.gorbachev@siemens.com>
> + */
> +
> +#include <linux/netdevice.h>
> +#include <linux/skbuff.h>
> +#include <linux/if_arp.h>
> +#include <linux/crc-ccitt.h>
> +#include <linux/nl802154.h>
> +#include <net/ieee802154.h>
> +#include <net/mac802154.h>
> +#include <net/wpan-phy.h>
> +
> +#include "mac802154.h"
> +
> +static netdev_tx_t mac802154_monitor_xmit(struct sk_buff *skb, struct net_device *dev)
> +{
> + struct mac802154_sub_if_data *priv;
> + u8 chan, page;
> +
> + priv = netdev_priv(dev);
> +
> + /* FIXME: locking */
> + chan = priv->hw->phy->current_channel;
> + page = priv->hw->phy->current_page;
> +
> + if (chan == (u8)-1) /* not init */
...
> + priv->chan = -1; /* not initialized */
This mixing of the integer "-1" value with a "u8" type is asking for trouble.
Define something like:
#define MAC802154_CHAN_NONE 0xff
or
#define MAC802154_CHAN_NONE (~(u8)0)
and use it consistently.
^ permalink raw reply
* Re: [PATCH 11/14] mac802154: slaves manipulation routine
From: David Miller @ 2011-12-19 19:43 UTC (permalink / raw)
To: alex.bluesman.smirnov-Re5JQEeQqe8AvxtiuMwx3w
Cc: netdev-u79uwXL29TY76Z2rM5mHXA,
linux-zigbee-devel-5NWGOfrQmneRv+LV9MX5uipxlwaOVQ5f, alexander
In-Reply-To: <1324312434-13151-11-git-send-email-alex.bluesman.smirnov-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
From: Alexander Smirnov <alex.bluesman.smirnov-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
Date: Mon, 19 Dec 2011 19:33:51 +0300
> +struct ieee802154_dev *ieee802154_alloc_device(size_t priv_size,
> + struct ieee802154_ops *ops);
Line up the arguments properly.
> + if (priv->hw->open_count++ == 0) {
> + res = priv->hw->ops->start(&priv->hw->hw);
That's terrible, fix up the indentation.
> + if ((--priv->hw->open_count) == 0)
This is more canonical as "if (!--priv->hw->open_count)".
------------------------------------------------------------------------------
Learn Windows Azure Live! Tuesday, Dec 13, 2011
Microsoft is holding a special Learn Windows Azure training event for
developers. It will provide a great way to learn Windows Azure and what it
provides. You can attend the event by watching it streamed LIVE online.
Learn more at http://p.sf.net/sfu/ms-windowsazure
^ permalink raw reply
* Re: [PATCH 10/14] ieee802154: interface type to be added
From: David Miller @ 2011-12-19 19:42 UTC (permalink / raw)
To: alex.bluesman.smirnov-Re5JQEeQqe8AvxtiuMwx3w
Cc: netdev-u79uwXL29TY76Z2rM5mHXA,
linux-zigbee-devel-5NWGOfrQmneRv+LV9MX5uipxlwaOVQ5f, alexander
In-Reply-To: <1324312434-13151-10-git-send-email-alex.bluesman.smirnov-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
From: Alexander Smirnov <alex.bluesman.smirnov-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
Date: Mon, 19 Dec 2011 19:33:50 +0300
> int rc = -ENOBUFS;
> struct net_device *dev;
> + int type = -EINVAL;
Bad indentation.
Or do you mean to tell me this doesn't look like total garbage and
stand out like a sore thumb on your computer screen?
> + if (type > __IEEE802154_DEV_MAX) {
> + return -EINVAL;
> + }
No need for openning and closing braces here, there is simply one
statement in the basic block.
If you'll need them later, add them later, not now.
------------------------------------------------------------------------------
Learn Windows Azure Live! Tuesday, Dec 13, 2011
Microsoft is holding a special Learn Windows Azure training event for
developers. It will provide a great way to learn Windows Azure and what it
provides. You can attend the event by watching it streamed LIVE online.
Learn more at http://p.sf.net/sfu/ms-windowsazure
^ permalink raw reply
* Re: [PATCH 09/14] ieee802154: remove ieee802154 policy from globals
From: David Miller @ 2011-12-19 19:40 UTC (permalink / raw)
To: alex.bluesman.smirnov-Re5JQEeQqe8AvxtiuMwx3w
Cc: netdev-u79uwXL29TY76Z2rM5mHXA,
linux-zigbee-devel-5NWGOfrQmneRv+LV9MX5uipxlwaOVQ5f
In-Reply-To: <1324312434-13151-9-git-send-email-alex.bluesman.smirnov-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
From: Alexander Smirnov <alex.bluesman.smirnov-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
Date: Mon, 19 Dec 2011 19:33:49 +0300
> Move ieee802154 netlink policy array definition inside ieee802154 layer.
>
> Signed-off-by: Alexander Smirnov <alex.bluesman.smirnov-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
Then mark the thing static at it's definition, don't just remove all
the externs like this.
------------------------------------------------------------------------------
Learn Windows Azure Live! Tuesday, Dec 13, 2011
Microsoft is holding a special Learn Windows Azure training event for
developers. It will provide a great way to learn Windows Azure and what it
provides. You can attend the event by watching it streamed LIVE online.
Learn more at http://p.sf.net/sfu/ms-windowsazure
^ permalink raw reply
* Re: [PATCH 08/14] mac802154: basic mib support
From: David Miller @ 2011-12-19 19:39 UTC (permalink / raw)
To: alex.bluesman.smirnov-Re5JQEeQqe8AvxtiuMwx3w
Cc: netdev-u79uwXL29TY76Z2rM5mHXA,
linux-zigbee-devel-5NWGOfrQmneRv+LV9MX5uipxlwaOVQ5f
In-Reply-To: <1324312434-13151-8-git-send-email-alex.bluesman.smirnov-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
From: Alexander Smirnov <alex.bluesman.smirnov-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
Date: Mon, 19 Dec 2011 19:33:48 +0300
> + res = hw->ops->set_hw_addr_filt(&hw->hw,
> + &hw->hw.hw_filt, nw->changed);
Line up the arguments.
> + pr_debug("%s: failed changed mask %lx\n",
> + __func__, nw->changed);
Get rid of __func__.
> + if (priv->hw->ops->set_hw_addr_filt &&
> + memcmp(priv->hw->hw.hw_filt.ieee_addr,
> + dev->dev_addr, IEEE802154_ADDR_LEN)) {
More bad formatting.
------------------------------------------------------------------------------
Learn Windows Azure Live! Tuesday, Dec 13, 2011
Microsoft is holding a special Learn Windows Azure training event for
developers. It will provide a great way to learn Windows Azure and what it
provides. You can attend the event by watching it streamed LIVE online.
Learn more at http://p.sf.net/sfu/ms-windowsazure
^ permalink raw reply
* Re: [PATCH 06/14] mac802154: slave interfaces definition
From: David Miller @ 2011-12-19 19:38 UTC (permalink / raw)
To: alex.bluesman.smirnov-Re5JQEeQqe8AvxtiuMwx3w
Cc: netdev-u79uwXL29TY76Z2rM5mHXA,
linux-zigbee-devel-5NWGOfrQmneRv+LV9MX5uipxlwaOVQ5f
In-Reply-To: <1324312434-13151-6-git-send-email-alex.bluesman.smirnov-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
From: Alexander Smirnov <alex.bluesman.smirnov-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
Date: Mon, 19 Dec 2011 19:33:46 +0300
> + u16 pan_id;
> + u16 short_addr;
Again, endianness of these values, use the proper types and accessors etc.
------------------------------------------------------------------------------
Learn Windows Azure Live! Tuesday, Dec 13, 2011
Microsoft is holding a special Learn Windows Azure training event for
developers. It will provide a great way to learn Windows Azure and what it
provides. You can attend the event by watching it streamed LIVE online.
Learn more at http://p.sf.net/sfu/ms-windowsazure
^ permalink raw reply
* Re: [PATCH 04/14] mac802154: TX data path
From: David Miller @ 2011-12-19 19:38 UTC (permalink / raw)
To: alex.bluesman.smirnov-Re5JQEeQqe8AvxtiuMwx3w
Cc: netdev-u79uwXL29TY76Z2rM5mHXA,
linux-zigbee-devel-5NWGOfrQmneRv+LV9MX5uipxlwaOVQ5f
In-Reply-To: <1324312434-13151-4-git-send-email-alex.bluesman.smirnov-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
From: Alexander Smirnov <alex.bluesman.smirnov-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
Date: Mon, 19 Dec 2011 19:33:44 +0300
> +netdev_tx_t mac802154_tx(struct mac802154_priv *priv, struct sk_buff *skb,
> + u8 page, u8 chan);
Line up these arguments on the second line correctly!
If you can't do it properly by hand, use something like emacs's "C
mode" to do it for you automatically.
> + res = xw->priv->ops->set_channel(&xw->priv->hw,
> + xw->page,
> + xw->chan);
Line up the arguments properly.
> + pr_debug("(%s): set_channel failed\n", __func__);
Putting __func__ into the debugging printk's is excessive, take these out.
> + if (WARN_ON(!(priv->phy->channels_supported[page] &
> + (1 << chan))))
More poor formatting.
------------------------------------------------------------------------------
Learn Windows Azure Live! Tuesday, Dec 13, 2011
Microsoft is holding a special Learn Windows Azure training event for
developers. It will provide a great way to learn Windows Azure and what it
provides. You can attend the event by watching it streamed LIVE online.
Learn more at http://p.sf.net/sfu/ms-windowsazure
^ permalink raw reply
* Re: [PATCH 03/14] mac802154: RX data path
From: David Miller @ 2011-12-19 19:36 UTC (permalink / raw)
To: alex.bluesman.smirnov-Re5JQEeQqe8AvxtiuMwx3w
Cc: netdev-u79uwXL29TY76Z2rM5mHXA,
linux-zigbee-devel-5NWGOfrQmneRv+LV9MX5uipxlwaOVQ5f
In-Reply-To: <1324312434-13151-3-git-send-email-alex.bluesman.smirnov-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
From: Alexander Smirnov <alex.bluesman.smirnov-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
Date: Mon, 19 Dec 2011 19:33:43 +0300
> +void ieee802154_rx(struct ieee802154_dev *dev, struct sk_buff *skb, u8 lqi);
> +void ieee802154_rx_irqsafe(struct ieee802154_dev *dev, struct sk_buff *skb,
> + u8 lqi);
Line up the "u8 lqi" argument with the openning parenthesis on the previous line.
> +static void
> +mac802154_subif_rx(struct ieee802154_dev *hw, struct sk_buff *skb, u8 lqi)
> +{
> + struct mac802154_priv *priv = mac802154_to_priv(hw);
> +
> + BUG_ON(!skb);
This assertion is excessive.
You are adding all of the call sites, therefore you can see if the SKB
argument is NULL or not.
------------------------------------------------------------------------------
Learn Windows Azure Live! Tuesday, Dec 13, 2011
Microsoft is holding a special Learn Windows Azure training event for
developers. It will provide a great way to learn Windows Azure and what it
provides. You can attend the event by watching it streamed LIVE online.
Learn more at http://p.sf.net/sfu/ms-windowsazure
^ permalink raw reply
* Re: [PATCH 02/14] mac802154: allocation of ieee802154 device
From: David Miller @ 2011-12-19 19:34 UTC (permalink / raw)
To: alex.bluesman.smirnov-Re5JQEeQqe8AvxtiuMwx3w
Cc: netdev-u79uwXL29TY76Z2rM5mHXA,
linux-zigbee-devel-5NWGOfrQmneRv+LV9MX5uipxlwaOVQ5f
In-Reply-To: <1324312434-13151-2-git-send-email-alex.bluesman.smirnov-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
From: Alexander Smirnov <alex.bluesman.smirnov-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
Date: Mon, 19 Dec 2011 19:33:42 +0300
> + phy = wpan_phy_alloc(ALIGN(sizeof(*priv), NETDEV_ALIGN) + priv_size);
WHy make the call sites have to be cognizant of all of these crazy
alignment calculations?
Make wpan_phy_alloc() take care of it, and just pass the minimum amount of
information necessary for it to calculate the right size.
------------------------------------------------------------------------------
Learn Windows Azure Live! Tuesday, Dec 13, 2011
Microsoft is holding a special Learn Windows Azure training event for
developers. It will provide a great way to learn Windows Azure and what it
provides. You can attend the event by watching it streamed LIVE online.
Learn more at http://p.sf.net/sfu/ms-windowsazure
^ permalink raw reply
* Re: [PATCH 01/14] mac802154: basic ieee802.15.4 device structures
From: David Miller @ 2011-12-19 19:32 UTC (permalink / raw)
To: alex.bluesman.smirnov; +Cc: dbaryshkov, linux-zigbee-devel, netdev
In-Reply-To: <1324312434-13151-1-git-send-email-alex.bluesman.smirnov@gmail.com>
From: Alexander Smirnov <alex.bluesman.smirnov@gmail.com>
Date: Mon, 19 Dec 2011 19:33:41 +0300
> +struct ieee802154_hw_addr_filt {
> + u16 pan_id;
> + u16 short_addr;
> + u8 ieee_addr[IEEE802154_ADDR_LEN];
> + u8 pan_coord;
> +};
What is the endianness of pan_id and short_addr objects? You should use
the appropriate endianness types "__be16, __le16" and accessors to
represent this.
If you're storing them in cpu byte order, why?
^ permalink raw reply
* Re: pull request: wireless-next 2011-12-19
From: David Miller @ 2011-12-19 19:30 UTC (permalink / raw)
To: linville-2XuSBdqkA4R54TAoqtyWWQ
Cc: linux-wireless-u79uwXL29TY76Z2rM5mHXA,
netdev-u79uwXL29TY76Z2rM5mHXA
In-Reply-To: <20111219191110.GB31462-2XuSBdqkA4R54TAoqtyWWQ@public.gmane.org>
From: "John W. Linville" <linville-2XuSBdqkA4R54TAoqtyWWQ@public.gmane.org>
Date: Mon, 19 Dec 2011 14:11:11 -0500
> Here is another (and probably still not the last) big pull request
> with updates intended for 3.3. There is the usual high activity
> in the iwlwifi and ath9k camps. Johannes favors us with some
> mac80211 refactoring. Rafał gives us some more b43 N-phy updates.
> Samuel gives us another batch of NFC goodness. The Broadcom folks
> give us another big batch of updates to their drivers. The wl12xx
> guys make a good showing. And as usual, there are a variety of other
> contributions as well.
>
> Please let me know if there are problems!
Pulled, 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 net-next] r8169: Support for byte queue limits
From: David Miller @ 2011-12-19 19:18 UTC (permalink / raw)
To: igorm; +Cc: netdev, nic_swsd, romieu, therbert, eric.dumazet
In-Reply-To: <1324290515-5207-1-git-send-email-igorm@etf.rs>
From: igorm@etf.rs
Date: Mon, 19 Dec 2011 11:28:35 +0100
> From: Igor Maravic <igorm@etf.rs>
>
> Changes to r8169 to use byte queue limits.
>
> Signed-off-by: Igor Maravic <igorm@etf.rs>
I refuse to consider your work if you keep making such poor submissions
and ignoring the contribution that reviewers are making to your patches.
First of all, you must mention what changes you are making from one
version of your patch to another, so people can tell what is changing.
You also must credit suggestions made by others. Otherwise peopl,
including me, will start to simply ignore you and all of your work.
Eric even told you these things explicitly, and you flat out ignored
him by submitting this patch again with no indication of what changed
from the last version and no credit to Eric for his tireless feedback
and suggestions.
This cannot continue, and you are on my black list for the rest of
the week and therefore I will ignore all of your patches during this
time.
You've been given many opportunities to correct your ways, yet you
still make extremely poor patch submissions, refuse to credit the
help others give to you, and generally waste our time.
^ permalink raw reply
* pull request: wireless-next 2011-12-19
From: John W. Linville @ 2011-12-19 19:11 UTC (permalink / raw)
To: davem-fT/PcQaiUtIeIZ0/mPfg9Q
Cc: linux-wireless-u79uwXL29TY76Z2rM5mHXA,
netdev-u79uwXL29TY76Z2rM5mHXA
Dave,
Here is another (and probably still not the last) big pull request
with updates intended for 3.3. There is the usual high activity
in the iwlwifi and ath9k camps. Johannes favors us with some
mac80211 refactoring. Rafał gives us some more b43 N-phy updates.
Samuel gives us another batch of NFC goodness. The Broadcom folks
give us another big batch of updates to their drivers. The wl12xx
guys make a good showing. And as usual, there are a variety of other
contributions as well.
Please let me know if there are problems!
John
---
The following changes since commit d1d182e00d72300e05b18e28372fab003d8d4a58:
wimax/i2400m: remove an unused variable (2011-12-16 15:57:03 -0500)
are available in the git repository at:
git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-next.git for-davem
Amitkumar Karwar (3):
mwifiex: failure case handling for PCIe events
mwifiex: do not advertise custom regulatory domain capability
mwifiex: remove cfg_workqueue
Arend van Spriel (33):
bcma: add set/mask macros for 16-bit register access
bcma: use static keyword for inline function declaration in bcma.h
brcm80211: smac: remove unused fields from struct si_pub definition
brcm80211: smac: move fields from struct si_pub to struct si_info
brcm80211: smac: use inline access functions for struct si_pub fields
brcm80211: smac: change from pci device driver to bcma device driver
brcm80211: smac: change attach interfaces in main.c for bcma support
brcm80211: smac: rename struct si_info field pbus to pcibus
brcm80211: smac: change ai_attach interface taking a bcma_bus object
brcm80211: smac: remove enumeration rom parsing function
brcm80211: smac: use bcma core register access functions for 802.11 core
brcm80211: smac: use DMA-API calls for descriptor allocations
brcm80211: smac: use bcma function for register access in dma.c
brcm80211: smac: use bcma functions for register access in phy code
brcm80211: smac: remove SI_FAST() macro usage
brcm80211: smac: replace ai_corereg() function with ai_cc_reg()
brcm80211: smac: remove unused functions and/or prototypes
brcm80211: smac: use bcma core control functions
brcm80211: smac: use bcma core access functions in nicpci.c
brcm80211: smac: change ai_findcoreidx() to ai_findcore()
brcm80211: smac: use bcma core access functions in otp.c
brcm80211: smac: use bcma core access function in srom.c
brcm80211: smac: use bcma core access functions in pmu.c
brcm80211: smac: use bcma core access functions in aiutils.c
brcm80211: smac: remove register access macro definitions
brcm80211: smac: remove empty or unused functions from pmu.c
brcm80211: smac: INTROFF/INTRESTORE macros removed
brcm80211: smac: remove interrupt disable callback functionality
brcm80211: smac: remove ai_switch_core() function
brcm80211: smac: remove mapped core related function from aiutils.c
brcm80211: smac: cleanup si_info structure definition
brcm80211: smac: cleanup buscore handling in aiutils.c
brcm80211: smac: register with bcma for specific 802.11 core revisions
Avinash Patil (2):
mwifiex: proper cleanup when RX multiport aggregation fails
mwifiex: wakeup and stop multiple tx queues in net_device
Chun-Yeow Yeoh (1):
ath9k: Support RSN Mesh
Dan Carpenter (3):
nfc: signedness bug in __nci_request()
mac80211: unlock on error path in ieee80211_ibss_join()
brcm80211: smac: precendence bug in wlc_phy_attach()
Dmitry TARNYAGIN (1):
mac80211: Do not request FIF_BCN_PRBRESP_PROMISC for HW scan.
Don Fry (7):
iwlwifi: rename iwl-agn-ucode as iwl-ucode
iwlwifi: replace iwl_priv reference with iwl_trans for ucode.
iwlwifi: move ucode_type from iwl_priv to iwl_shared
iwlwifi: move ucode notification from iwl_priv to iwl_shared
iwlwifi: move eeprom pointer from iwl_priv to iwl_shared
iwlwifi: move device_pointers from iwl_priv to iwl_shared
iwlwifi: move calib_results list from iwl_priv to iwl_trans
Eliad Peller (3):
mac80211: configure BSS_CHANGED_ARP_FILTER on reconfiguration
mac80211: don't check sdata_running in vif notifier
wl12xx: use ieee80211_free_txskb()
Emmanuel Grumbach (5):
iwlwifi: check the HW when a queue is stuck
iwlwifi: improve the prints in the reclaim path
iwlwifi: fix endianity issues in debug prints
iwlwifi: tid_data is taken twice in iwl_trans_pcie_tx_agg_alloc
iwlwifi: help to debug AGG SM inconsistencies
Felix Fietkau (7):
ath9k: make two mci related functions static
ath9k: change maximum software retransmission handling
ath9k: reduce the number of unnecessary BAR tx packets
ath9k: reduce indentation level in a few places
ath9k: remove bogus sequence number increment
ath9k: simplify tx locking
ath9k: avoid retransmitting aggregation frames that a BAR was sent for
Franky Lin (4):
brcm80211: fmac: save bus interface structure in function 2 device
brcm80211: fmac: fix firmware shared structures version
brcm80211: fmac: add bcm4330 support
brcm80211: fmac: remove drive strength code for unsupported chips
Helmut Schaa (4):
ieee80211: Introduce ieee80211_is_first_frag
mac80211: Make use of ieee80211_is_* functions in tx status path
rt2x00: Make use of ieee80211_free_txskb in tx path
mac80211: Use appropriate TID for sending BAR, ADDBA and DELBA frames
Hsu, Kenny (7):
iwlwifi: add tm commands for indirect register access
iwlwifi: add tm commands for sram reading by dumpit
iwlwifi: add generic chunk size of tm dumpit packet
iwlwifi: add WOWLAN uCode loading support by testmode
iwlwifi: add uCode version information support by testmode
iwlwifi: hide kernel option IWLWIFI_DEVICE_SVTOOL
iwlwifi: add device ID information support by testmode
Johannes Berg (23):
iwlagn: remove calibration knowledge
iwlagn: dynamically allocate & reflect calibration data
iwlagn: allow up to uCode API 6 for 6000 devices
iwlagn: fix HW crypto for TX-only keys
iwlagn: remove TX_REPLY_LIMIT debug
iwlagn: remove HC_DUMP debug
iwlagn: remove MACDUMP debug
iwlagn: make debug levels more readable
iwlagn: fix TID use bug
iwlagn: use IWL_MAX_TID_COUNT for WoWLAN
iwlagn: use IWL_MAX_TID_COUNT instead of TID_MAX_LOAD_COUNT
iwlwifi: tx_sync only on PAN context
nl80211: accept testmode dump with netdev
nl80211: add TDLS peer flag to policy
cfg80211: validate nl80211 station handling better
mac80211: remove duplicate TDLS peer verification
mac80211: use station mutex in configuration
mac80211: refactor station state transitions
mac80211: count authorized stations per BSS
mac80211: make address arguments to sta_info_alloc const
mac80211: delay IBSS station insertion
mac80211: reduce station management complexity
mac80211_hwsim: fix wmediumd_pid
John W. Linville (4):
Merge branch 'wireless-next' of git://git.kernel.org/.../iwlwifi/iwlwifi
b43: avoid calling bcma_* if CONFIG_B43_BCMA is not set
Merge branch 'master' of git://git.kernel.org/.../linville/wireless
Merge branch 'master' of git://git.kernel.org/.../linville/wireless-next into for-davem
Kenny Hsu (1):
iwlwifi: add range checking in tm sram read command
Larry Finger (1):
brcmsmac: Replace kmalloc/memset with kzalloc
Luciano Coelho (5):
wl12xx: don't write out of bounds when hlid > WL12XX_MAX_LINKS
wl12xx: call extended radio parameters for wl127x AP mode
wl12xx: remove deprecated packet detection threshold config
wl12xx: remove unused firmware version macros
wl12xx: alloc buffer in driver_state_read to prevent compilation warning
Luis R. Rodriguez (4):
ath: add a helper for processing reg data on init
ath: optimize processing of CTLs for country IEs for world roaming cards
ath: document ATH_DBG_MCI
cfg80211: allow following country IE power for custom regdom cards
Mohammed Shafi Shajakhan (6):
ath9k_hw: check for asynchronous interrupts before bailing out
ath9k_hw: Fix handling of MCI interrupt
mac80211: remove an unnecessary paraenthesis
mac80211: Fix power save in change interface
ath9k: validate for non-zero BSSID
ath9k_hw: remove ATH9K_HW_CAP_CST
Pontus Fuchs (2):
wl12xx: Restore testmode ABI
Set wlvif->ps_compl to NULL in before return
Rafał Miłecki (15):
ssb: extract FEM info from SPROM
bcma: extract FEM info from SPROM
bcma: support for suspend and resume
b43: N-PHY: random trivial fixes for typos, missing writes
b43: N-PHY: update some init values
b43: N-PHY: workaround BCM43224 hw bug in writing table id 9
b43: N-PHY: add table for antenna software control
b43: N-PHY: determine various PHY params
b43: N-PHY: finish 2.4GHz 0x2056 radio setup
b43: N-PHY: implement spurious tone avoidance
bcma: extract revision and TX power IDs from SPROM
b43: N-PHY: fix 32-bit reads of tables
b43: N-PHY: workaround broken auto-increment on BCM43224
b43: N-PHY: update TX power fix
b43: N-PHY: check for bustype before touching BCMA CC PLLs
Rajkumar Manoharan (4):
ath9k: fix max phy rate at rate control init
ath9k: Reconfigure tx power on regulatory update
cfg80211: notify core hints that helps to restore regd settings
cfg80211: Restore orig channel values upon disconnect
Samuel Ortiz (8):
NFC: Add function name to the NFC pr_fmt() routine
NFC: Add tx skb allocation routine
NFC: Do not take the genl mutex from the netlink release notifier
NFC: Atomic socket allocation
NFC: Add a DEP link control netlink command
NFC: Set and get DEP general bytes
NFC: DEP link hook implementation for pn533
NFC: Initial LLCP support
Simon Wunderlich (1):
mac80211: free skb on error path of ieee80211_ibss_join()
Stanislaw Gruszka (2):
rtlwifi: use work for lps
rtlwifi: merge ips,lps spinlocks into one mutex
Vasanthakumar Thiagarajan (1):
cfg80211: Fix race in bss timeout
Wey-Yi Guy (17):
iwlwifi: remove redundancy
Merge branch 'master' of git://git.kernel.org/.../linville/wireless-next into wireless-next
iwlwifi: show command string for REPLY_D3_CONFIG
iwlwifi: show the configuration option
Merge branch 'master' of git://git.kernel.org/.../linville/wireless-next into wireless-next
iwlwifi: do not re-configure HT40 after associated
iwlwifi: declare static for iwl_sram_cleanup function
iwlwifi: Rename file name from iwl-sv-open.c to iwl-testmode.c
Merge branch 'master' of git://git.kernel.org/.../linville/wireless-next into wireless-next
iwlwifi: Display more uCode debug info
iwlwifi: minor cleanup
iwlwifi: remove reference to legacy devices
iwlwifi: rename CONFIG_IWLWIFI_DEVICE_SVTOOL to CONFIG_IWLWIFI_DEVICE_TESTMODE
iwlwifi: P2P is not enabled by default
iwlwifi: set TX_CMD_FLG_STA_RATE_MSK for BAR frame
iwlwifi: do not set the sequence control bit is not needed
iwlwifi: allow to switch to HT40 if not associated
Yogesh Ashok Powar (2):
mac80211: Purge A-MPDU TX queues before station destructions
mwifiex: avoid double list_del in command cancel path
Zefir Kurtisi (3):
ath: add a debug level for DFS
ath9k_hw: add DFS testing check
ath9k: add DFS radar pulse processing
drivers/bcma/bcma_private.h | 3 +
drivers/bcma/host_pci.c | 37 +
drivers/bcma/main.c | 16 +
drivers/bcma/sprom.c | 61 +
drivers/net/wireless/ath/ath.h | 6 +
drivers/net/wireless/ath/ath9k/Kconfig | 22 +
drivers/net/wireless/ath/ath9k/Makefile | 2 +
drivers/net/wireless/ath/ath9k/ar9003_mac.c | 59 +-
drivers/net/wireless/ath/ath9k/ath9k.h | 9 +-
drivers/net/wireless/ath/ath9k/debug.c | 5 +-
drivers/net/wireless/ath/ath9k/debug.h | 2 +
drivers/net/wireless/ath/ath9k/dfs.c | 215 ++++
drivers/net/wireless/ath/ath9k/dfs.h | 43 +
drivers/net/wireless/ath/ath9k/dfs_debug.c | 81 ++
drivers/net/wireless/ath/ath9k/dfs_debug.h | 57 +
drivers/net/wireless/ath/ath9k/hw-ops.h | 9 +
drivers/net/wireless/ath/ath9k/hw.c | 33 +-
drivers/net/wireless/ath/ath9k/hw.h | 30 +-
drivers/net/wireless/ath/ath9k/init.c | 17 +-
drivers/net/wireless/ath/ath9k/main.c | 5 +-
drivers/net/wireless/ath/ath9k/mci.c | 8 +-
drivers/net/wireless/ath/ath9k/mci.h | 4 -
drivers/net/wireless/ath/ath9k/rc.c | 4 +-
drivers/net/wireless/ath/ath9k/recv.c | 1 +
drivers/net/wireless/ath/ath9k/xmit.c | 236 ++--
drivers/net/wireless/ath/regd.c | 77 ++-
drivers/net/wireless/b43/phy_n.c | 312 +++++-
drivers/net/wireless/b43/phy_n.h | 8 +
drivers/net/wireless/b43/radio_2056.c | 25 +-
drivers/net/wireless/b43/radio_2056.h | 1 +
drivers/net/wireless/b43/tables_nphy.c | 77 ++-
drivers/net/wireless/b43/tables_nphy.h | 31 +-
drivers/net/wireless/brcm80211/Kconfig | 3 +-
drivers/net/wireless/brcm80211/brcmfmac/bcmsdh.c | 3 +-
.../net/wireless/brcm80211/brcmfmac/bcmsdh_sdmmc.c | 25 +-
drivers/net/wireless/brcm80211/brcmfmac/dhd.h | 2 +-
drivers/net/wireless/brcm80211/brcmfmac/dhd_cdc.c | 6 +-
drivers/net/wireless/brcm80211/brcmfmac/dhd_sdio.c | 2 +
.../net/wireless/brcm80211/brcmfmac/sdio_chip.c | 74 +-
.../net/wireless/brcm80211/brcmfmac/sdio_host.h | 1 +
drivers/net/wireless/brcm80211/brcmsmac/aiutils.c | 1239 ++++----------------
drivers/net/wireless/brcm80211/brcmsmac/aiutils.h | 148 +--
drivers/net/wireless/brcm80211/brcmsmac/ampdu.c | 7 +-
drivers/net/wireless/brcm80211/brcmsmac/d11.h | 3 +
drivers/net/wireless/brcm80211/brcmsmac/dma.c | 229 ++--
drivers/net/wireless/brcm80211/brcmsmac/dma.h | 9 +-
.../net/wireless/brcm80211/brcmsmac/mac80211_if.c | 166 +--
.../net/wireless/brcm80211/brcmsmac/mac80211_if.h | 2 -
drivers/net/wireless/brcm80211/brcmsmac/main.c | 702 ++++++------
drivers/net/wireless/brcm80211/brcmsmac/main.h | 4 +-
drivers/net/wireless/brcm80211/brcmsmac/nicpci.c | 241 ++--
drivers/net/wireless/brcm80211/brcmsmac/nicpci.h | 11 +-
drivers/net/wireless/brcm80211/brcmsmac/otp.c | 76 +-
.../net/wireless/brcm80211/brcmsmac/phy/phy_cmn.c | 229 ++--
.../net/wireless/brcm80211/brcmsmac/phy/phy_hal.h | 4 +-
.../net/wireless/brcm80211/brcmsmac/phy/phy_int.h | 6 +-
.../net/wireless/brcm80211/brcmsmac/phy/phy_lcn.c | 69 +-
.../net/wireless/brcm80211/brcmsmac/phy/phy_n.c | 84 +-
drivers/net/wireless/brcm80211/brcmsmac/pmu.c | 270 ++---
drivers/net/wireless/brcm80211/brcmsmac/pmu.h | 5 +-
drivers/net/wireless/brcm80211/brcmsmac/pub.h | 6 +-
drivers/net/wireless/brcm80211/brcmsmac/srom.c | 50 +-
drivers/net/wireless/brcm80211/brcmsmac/srom.h | 2 +-
drivers/net/wireless/brcm80211/brcmsmac/types.h | 54 +-
.../net/wireless/brcm80211/include/chipcommon.h | 2 +
drivers/net/wireless/iwlwifi/Kconfig | 30 +-
drivers/net/wireless/iwlwifi/Makefile | 2 +-
drivers/net/wireless/iwlwifi/iwl-5000.c | 8 +-
drivers/net/wireless/iwlwifi/iwl-6000.c | 4 +-
drivers/net/wireless/iwlwifi/iwl-agn-calib.c | 18 +-
drivers/net/wireless/iwlwifi/iwl-agn-calib.h | 5 -
drivers/net/wireless/iwlwifi/iwl-agn-lib.c | 34 +-
drivers/net/wireless/iwlwifi/iwl-agn-rs.c | 16 +-
drivers/net/wireless/iwlwifi/iwl-agn-rs.h | 3 +-
drivers/net/wireless/iwlwifi/iwl-agn-rx.c | 2 +-
drivers/net/wireless/iwlwifi/iwl-agn-rxon.c | 4 +-
drivers/net/wireless/iwlwifi/iwl-agn-sta.c | 4 +-
drivers/net/wireless/iwlwifi/iwl-agn-tx.c | 10 +-
drivers/net/wireless/iwlwifi/iwl-agn.c | 27 +-
drivers/net/wireless/iwlwifi/iwl-agn.h | 6 +-
drivers/net/wireless/iwlwifi/iwl-commands.h | 84 +-
drivers/net/wireless/iwlwifi/iwl-debugfs.c | 4 +-
drivers/net/wireless/iwlwifi/iwl-dev.h | 30 +-
drivers/net/wireless/iwlwifi/iwl-eeprom.c | 60 +-
drivers/net/wireless/iwlwifi/iwl-eeprom.h | 7 +-
drivers/net/wireless/iwlwifi/iwl-mac80211.c | 26 +-
drivers/net/wireless/iwlwifi/iwl-shared.h | 15 +-
drivers/net/wireless/iwlwifi/iwl-testmode.c | 49 +-
drivers/net/wireless/iwlwifi/iwl-testmode.h | 18 +-
drivers/net/wireless/iwlwifi/iwl-trans-pcie-rx.c | 21 +-
drivers/net/wireless/iwlwifi/iwl-trans-pcie.c | 1 +
drivers/net/wireless/iwlwifi/iwl-trans.h | 18 +
drivers/net/wireless/iwlwifi/iwl-ucode.c | 32 +-
drivers/net/wireless/mac80211_hwsim.c | 21 +-
drivers/net/wireless/mwifiex/cfg80211.c | 194 +---
drivers/net/wireless/mwifiex/cfg80211.h | 1 -
drivers/net/wireless/mwifiex/cmdevt.c | 9 +-
drivers/net/wireless/mwifiex/init.c | 40 +
drivers/net/wireless/mwifiex/main.c | 13 +-
drivers/net/wireless/mwifiex/main.h | 18 +-
drivers/net/wireless/mwifiex/pcie.c | 20 +-
drivers/net/wireless/mwifiex/scan.c | 13 +-
drivers/net/wireless/mwifiex/sdio.c | 22 +-
drivers/net/wireless/mwifiex/sta_event.c | 23 +-
drivers/net/wireless/mwifiex/sta_ioctl.c | 4 +-
drivers/net/wireless/mwifiex/txrx.c | 5 +-
drivers/net/wireless/rt2x00/rt2x00mac.c | 2 +-
drivers/net/wireless/rtlwifi/base.c | 3 +-
drivers/net/wireless/rtlwifi/pci.c | 26 +-
drivers/net/wireless/rtlwifi/ps.c | 21 +-
drivers/net/wireless/rtlwifi/wifi.h | 6 +-
drivers/net/wireless/wl12xx/acx.c | 26 -
drivers/net/wireless/wl12xx/acx.h | 8 -
drivers/net/wireless/wl12xx/debugfs.c | 16 +-
drivers/net/wireless/wl12xx/init.c | 47 +-
drivers/net/wireless/wl12xx/init.h | 1 -
drivers/net/wireless/wl12xx/main.c | 19 +-
drivers/net/wireless/wl12xx/rx.c | 8 +-
drivers/net/wireless/wl12xx/testmode.c | 1 +
drivers/net/wireless/wl12xx/tx.c | 9 +-
drivers/net/wireless/wl12xx/wl12xx.h | 7 -
drivers/nfc/pn533.c | 168 +++-
drivers/ssb/pci.c | 23 +
include/linux/bcma/bcma.h | 55 +-
include/linux/bcma/bcma_driver_chipcommon.h | 1 +
include/linux/ieee80211.h | 9 +
include/linux/nfc.h | 29 +-
include/linux/nl80211.h | 6 +-
include/linux/ssb/ssb.h | 9 +
include/linux/ssb/ssb_regs.h | 17 +
include/net/cfg80211.h | 37 +-
include/net/nfc/nfc.h | 21 +-
net/mac80211/agg-tx.c | 6 +-
net/mac80211/cfg.c | 102 ++-
net/mac80211/debugfs_netdev.c | 2 +
net/mac80211/ht.c | 2 +-
net/mac80211/ibss.c | 156 ++-
net/mac80211/ieee80211_i.h | 31 +-
net/mac80211/iface.c | 5 +-
net/mac80211/main.c | 11 +-
net/mac80211/mesh_plink.c | 7 +-
net/mac80211/mlme.c | 9 +-
net/mac80211/rx.c | 4 +-
net/mac80211/sta_info.c | 356 +++----
net/mac80211/sta_info.h | 39 +-
net/mac80211/status.c | 15 +-
net/mac80211/tx.c | 32 +-
net/mac80211/util.c | 3 +-
net/nfc/Kconfig | 1 +
net/nfc/Makefile | 1 +
net/nfc/core.c | 143 +++-
net/nfc/llcp/Kconfig | 7 +
net/nfc/llcp/commands.c | 399 +++++++
net/nfc/llcp/llcp.c | 973 +++++++++++++++
net/nfc/llcp/llcp.h | 193 +++
net/nfc/llcp/sock.c | 675 +++++++++++
net/nfc/nci/core.c | 4 +-
net/nfc/nci/data.c | 2 +-
net/nfc/nci/ntf.c | 2 +-
net/nfc/nci/rsp.c | 2 +-
net/nfc/netlink.c | 148 +++-
net/nfc/nfc.h | 63 +
net/nfc/rawsock.c | 11 +-
net/wireless/core.h | 6 +-
net/wireless/nl80211.c | 250 +++--
net/wireless/reg.c | 62 +-
net/wireless/sme.c | 61 +-
net/wireless/util.c | 6 +-
168 files changed, 6761 insertions(+), 3754 deletions(-)
create mode 100644 drivers/net/wireless/ath/ath9k/dfs.c
create mode 100644 drivers/net/wireless/ath/ath9k/dfs.h
create mode 100644 drivers/net/wireless/ath/ath9k/dfs_debug.c
create mode 100644 drivers/net/wireless/ath/ath9k/dfs_debug.h
create mode 100644 net/nfc/llcp/Kconfig
create mode 100644 net/nfc/llcp/commands.c
create mode 100644 net/nfc/llcp/llcp.c
create mode 100644 net/nfc/llcp/llcp.h
create mode 100644 net/nfc/llcp/sock.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.
--
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
* Dear Sir/Madam,
From: I am Dr. Joe working in a pharmaceutical company based in London @ 2011-12-19 15:17 UTC (permalink / raw)
I am Dr. Joe working in a pharmaceutical company based in London,
United Kingdom.based on our company's urgent need to
establish a mutual business relationship with a company or an individual in
India; contact me through my private email
address mentioned below: {joe_moore@w.cn} for more detail
^ permalink raw reply
* Re: drivers/net/usb/asix: strange numeration of eth interfaces
From: Grant Grundler @ 2011-12-19 18:37 UTC (permalink / raw)
To: Igor Egorkin; +Cc: linux-kernel, Allan Chou, Freddy Xin, Mark Lord, netdev
In-Reply-To: <1324280623.19383.8.camel@igor-pc.lan>
+Freddy Xin, Mark Lord, +netdev
On Sun, Dec 18, 2011 at 11:43 PM, Igor Egorkin <igor@egorkin.ru> wrote:
> Hello!
>
> $ uname -a
> Linux 2.6.32-5-amd64 #1 SMP Thu Nov 3 03:41:26 UTC 2011 x86_64 GNU/Linux
>
> $ cat /etc/debian_version
> 6.0.3
>
> $ lsusb|grep -i asix
> Bus 004 Device 014: ID 0b95:772b ASIX Electronics Corp.
>
>
> 1) Driver asix.c from linux-3.2-rc6.
> asix.c little modified for compiling in 2.6.32 . Diff is at the end of message.
Hi Igor!
The goal(s) of your email/patch aren't 100% clear to me.
Is the main goal to provide a backport of 3.2-rc6 asix.c driver to
pre-2.6.35 kernels?
(If so - thanks! I'm sure someone can make use of it.)
Why the comparison to ASIX v4.2.0 driver?
cheers,
grant
> Adapter inserted to USB connector:
> Dec 18 20:03:24 kernel: [492657.344037] usb 4-2: new high speed USB device using ehci_hcd and address 12
> Dec 18 20:03:24 kernel: [492657.489541] usb 4-2: New USB device found, idVendor=0b95, idProduct=772b
> Dec 18 20:03:24 kernel: [492657.489545] usb 4-2: New USB device strings: Mfr=1, Product=2, SerialNumber=3
> Dec 18 20:03:24 kernel: [492657.489548] usb 4-2: Product: AX88772B
> Dec 18 20:03:24 kernel: [492657.489550] usb 4-2: Manufacturer: ASIX Elec. Corp.
> Dec 18 20:03:24 kernel: [492657.489552] usb 4-2: SerialNumber: 000001
> Dec 18 20:03:24 kernel: [492657.489661] usb 4-2: configuration #1 chosen from 1 choice
> Dec 18 20:03:24 kernel: [492657.802645] eth1: register 'asix' at usb-0000:01:00.2-2, ASIX AX88772 USB 2.0 Ethernet, 00:60:6e:01:0e:99
>
> # ethtool -i eth1
> Cannot get driver information: No such device
>
> # ethtool -i eth2
> driver: asix
> version: 08-Nov-2011
> firmware-version: ASIX AX88772 USB 2.0 Ethernet
> bus-info: usb-0000:01:00.2-2
>
> $ ip addr ls dev eth1
> Device "eth1" does not exist.
>
> $ ip addr ls dev eth2
> 77: eth2: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN qlen 1000
> link/ether 00:60:6e:01:0e:99 brd ff:ff:ff:ff:ff:ff
>
> Adapter removed from USB connector:
> Dec 18 20:40:58 kernel: [494911.485333] usb 4-2: USB disconnect, address 12
> Dec 18 20:40:58 kernel: [494911.485426] eth2: unregister 'asix' usb-0000:01:00.2-2, ASIX AX88772 USB 2.0 Ethernet
>
>
>
> 2) Driver AX88772B_772A_760_772_178_LINUX_Driver_v4.2.0_Source.zip from asix.com.tw . Unmodified.
> Problem is the same.
>
> Adapter inserted to USB connector:
> Dec 18 20:42:53 kernel: [495026.620036] usb 4-2: new high speed USB device using ehci_hcd and address 13
> Dec 18 20:42:53 kernel: [495026.765514] usb 4-2: New USB device found, idVendor=0b95, idProduct=772b
> Dec 18 20:42:53 kernel: [495026.765519] usb 4-2: New USB device strings: Mfr=1, Product=2, SerialNumber=3
> Dec 18 20:42:53 kernel: [495026.765522] usb 4-2: Product: AX88772B
> Dec 18 20:42:53 kernel: [495026.765523] usb 4-2: Manufacturer: ASIX Elec. Corp.
> Dec 18 20:42:53 kernel: [495026.765525] usb 4-2: SerialNumber: 000001
> Dec 18 20:42:53 kernel: [495026.765639] usb 4-2: configuration #1 chosen from 1 choice
> Dec 18 20:42:54 kernel: [495027.399871] ASIX USB Ethernet Adapter:v4.2.0 20:17:18 Dec 17 2011
> Dec 18 20:42:54 kernel: [495027.399873] <6> http://www.asix.com.tw
> Dec 18 20:42:54 kernel: [495027.399877] eth%d: status ep1in, 8 bytes period 11
> Dec 18 20:42:54 kernel: [495027.400873] eth1: register 'asix' at usb-0000:01:00.2-2, ASIX AX88772B USB 2.0 Ethernet, 00:60:6e:01:0e:99
>
> $ ip addr ls dev eth1
> Device "eth1" does not exist.
>
> $ ip addr ls dev eth2
> 78: eth2: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN qlen 1000
> link/ether 00:60:6e:01:0e:99 brd ff:ff:ff:ff:ff:ff
>
>
> # ethtool -i eth1
> Cannot get driver information: No such device
>
> # ethtool -i eth2
> driver: asix
> version: 22-Aug-2005
> firmware-version: ASIX AX88772B USB 2.0 Ethernet
> bus-info: usb-0000:01:00.2-2
>
> Adapter removed from USB connector:
> Dec 18 20:44:41 kernel: [495134.784792] usb 4-2: USB disconnect, address 13
> Dec 18 20:44:41 kernel: [495134.784882] eth2: unregister 'asix' usb-0000:01:00.2-2, ASIX AX88772B USB 2.0 Ethernet
>
>
>
> ===============================================================================================================
>
>
> For compiling asix.c in 2.6.32 i do modification (i take it from AX88772B_772A_760_772_178_LINUX_Driver_v4.2.0_Source.zip):
>
>
> $ diff -ruN asix.c.from_linux-3.2-rc6 asix.c
> --- asix.c.from_linux-3.2-rc6 2011-12-17 06:36:26.000000000 +0400
> +++ asix.c 2011-12-18 20:00:46.000000000 +0400
> @@ -22,7 +22,7 @@
>
> // #define DEBUG // error path messages, extra info
> // #define VERBOSE // more; success messages
> -
> +#include <linux/version.h>
> #include <linux/module.h>
> #include <linux/kmod.h>
> #include <linux/init.h>
> @@ -593,8 +593,24 @@
> * for our 8 byte filter buffer
> * to avoid allocating memory that
> * is tricky to free later */
> - struct netdev_hw_addr *ha;
> u32 crc_bits;
> +#if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,35)
> + struct dev_mc_list *mc_list = net->mc_list;
> + int i;
> +
> + memset(data->multi_filter, 0, AX_MCAST_FILTER_SIZE);
> +
> + /* Build the multicast hash filter. */
> + for (i = 0; i < net->mc_count; i++) {
> + crc_bits =
> + ether_crc(ETH_ALEN,
> + mc_list->dmi_addr) >> 26;
> + data->multi_filter[crc_bits >> 3] |=
> + 1 << (crc_bits & 7);
> + mc_list = mc_list->next;
> + }
> +#else
> + struct netdev_hw_addr *ha;
>
> memset(data->multi_filter, 0, AX_MCAST_FILTER_SIZE);
>
> @@ -604,7 +620,7 @@
> data->multi_filter[crc_bits >> 3] |=
> 1 << (crc_bits & 7);
> }
> -
> +#endif
> asix_write_cmd_async(dev, AX_CMD_WRITE_MULTI_FILTER, 0, 0,
> AX_MCAST_FILTER_SIZE, data->multi_filter);
>
> @@ -827,18 +843,33 @@
> * for our 8 byte filter buffer
> * to avoid allocating memory that
> * is tricky to free later */
> - struct netdev_hw_addr *ha;
> u32 crc_bits;
> +#if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,35)
> + struct dev_mc_list *mc_list = net->mc_list;
> + int i;
>
> memset(data->multi_filter, 0, AX_MCAST_FILTER_SIZE);
>
> /* Build the multicast hash filter. */
> + for (i = 0; i < net->mc_count; i++) {
> + crc_bits =
> + ether_crc(ETH_ALEN,
> + mc_list->dmi_addr) >> 26;
> + data->multi_filter[crc_bits >> 3] |=
> + 1 << (crc_bits & 7);
> + mc_list = mc_list->next;
> + }
> +#else
> + struct netdev_hw_addr *ha;
> + memset(data->multi_filter, 0, AX_MCAST_FILTER_SIZE);
> +
> + /* Build the multicast hash filter. */
> netdev_for_each_mc_addr(ha, net) {
> crc_bits = ether_crc(ETH_ALEN, ha->addr) >> 26;
> data->multi_filter[crc_bits >> 3] |=
> 1 << (crc_bits & 7);
> }
> -
> +#endif
> asix_write_cmd_async(dev, AX_CMD_WRITE_MULTI_FILTER, 0, 0,
> AX_MCAST_FILTER_SIZE, data->multi_filter);
>
>
>
> ==============================================================================================
>
>
> Thank you!
> --
> Igor E.
>
>
^ permalink raw reply
* Re: [PATCH v2] ARM: net: JIT compiler for packet filters
From: Dave Martin @ 2011-12-19 18:29 UTC (permalink / raw)
To: Mircea Gherzan; +Cc: linux-arm-kernel, netdev
In-Reply-To: <20111219181839.GH2031@linaro.org>
On Mon, Dec 19, 2011 at 06:18:39PM +0000, Dave Martin wrote:
> On Mon, Dec 19, 2011 at 06:45:13PM +0200, Mircea Gherzan wrote:
[...]
> > The JITed code calls back to the kernel for the load helpers. So setting
> > bit 0 is required.
>
> When you take the address of a link-time external function symbol,
> bit[0] in the address will automatically be set appropriately by the
> linker to indicate the target instruction set -- you already use BX/BLX
> to jump to such symbols, so you should switch correctly when calling
> _to_ the kernel.
>
> Returns should also work, except for old-style "mov pc,lr" returns made
> in Thumb code (from ARM code, this magically works for >= v7). Such returns
> only happen in hand-written assembler: for C code, the compiler always
> generates proper AEABI-compliant return sequences.
>
> So, for calling load_func[], jit_get_skb_b etc. (which are C functions),
> there should be no problem.
>
> I think the only code which you call from the JIT output but which does
> not return compliantly is __aeabi_uidiv() in arch/arm/lib/lib1funcs.S.
>
>
> I have a quick hacked-up patch (below) which attempts to fix this;
> I'd be interested if this works for you -- but finalising your ARM-only
> version of the patch should still be the priority.
>
> If this fix does work, I'll turn it into a proper patch, as we can maybe
> use it more widely.
Oops, I forgot to paste in my patch ... here it is.
Cheers
---Dave
diff --git a/arch/arm/include/asm/assembler.h b/arch/arm/include/asm/assembler.h
index b6e65de..013bfaf 100644
--- a/arch/arm/include/asm/assembler.h
+++ b/arch/arm/include/asm/assembler.h
@@ -313,4 +313,39 @@
.size \name , . - \name
.endm
+/*
+ * Helper macro to abstract a function return, where the return address is
+ * held in a register:
+ */
+.macro __def_bret cc
+ .macro bret\cc Rm:req
+#if __LINUX_ARM_ARCH__ < 7
+ mov\cc pc, \Rm
+#else
+ bx\cc \Rm
+#endif
+
+ .endm
+.endm
+
+__def_bret
+__def_bret eq
+__def_bret ne
+__def_bret hs
+__def_bret cs
+__def_bret lo
+__def_bret cc
+__def_bret vs
+__def_bret vc
+__def_bret mi
+__def_bret pl
+__def_bret hi
+__def_bret ls
+__def_bret ge
+__def_bret lt
+__def_bret gt
+__def_bret le
+
+.purgem __def_bret
+
#endif /* __ASM_ASSEMBLER_H__ */
diff --git a/arch/arm/lib/lib1funcs.S b/arch/arm/lib/lib1funcs.S
index c562f64..c3a4dbf 100644
--- a/arch/arm/lib/lib1funcs.S
+++ b/arch/arm/lib/lib1funcs.S
@@ -210,7 +210,7 @@ ENTRY(__aeabi_uidiv)
UNWIND(.fnstart)
subs r2, r1, #1
- moveq pc, lr
+ breteq lr
bcc Ldiv0
cmp r0, r1
bls 11f
@@ -220,16 +220,16 @@ UNWIND(.fnstart)
ARM_DIV_BODY r0, r1, r2, r3
mov r0, r2
- mov pc, lr
+ bret lr
11: moveq r0, #1
movne r0, #0
- mov pc, lr
+ bret lr
12: ARM_DIV2_ORDER r1, r2
mov r0, r0, lsr r2
- mov pc, lr
+ bret lr
UNWIND(.fnend)
ENDPROC(__udivsi3)
@@ -244,11 +244,11 @@ UNWIND(.fnstart)
moveq r0, #0
tsthi r1, r2 @ see if divisor is power of 2
andeq r0, r0, r2
- movls pc, lr
+ bretls lr
ARM_MOD_BODY r0, r1, r2, r3
- mov pc, lr
+ bret lr
UNWIND(.fnend)
ENDPROC(__umodsi3)
@@ -274,23 +274,23 @@ UNWIND(.fnstart)
cmp ip, #0
rsbmi r0, r0, #0
- mov pc, lr
+ bret lr
10: teq ip, r0 @ same sign ?
rsbmi r0, r0, #0
- mov pc, lr
+ bret lr
11: movlo r0, #0
moveq r0, ip, asr #31
orreq r0, r0, #1
- mov pc, lr
+ bret lr
12: ARM_DIV2_ORDER r1, r2
cmp ip, #0
mov r0, r3, lsr r2
rsbmi r0, r0, #0
- mov pc, lr
+ bret lr
UNWIND(.fnend)
ENDPROC(__divsi3)
@@ -315,7 +315,7 @@ UNWIND(.fnstart)
10: cmp ip, #0
rsbmi r0, r0, #0
- mov pc, lr
+ bret lr
UNWIND(.fnend)
ENDPROC(__modsi3)
@@ -331,7 +331,7 @@ UNWIND(.save {r0, r1, ip, lr} )
ldmfd sp!, {r1, r2, ip, lr}
mul r3, r0, r2
sub r1, r1, r3
- mov pc, lr
+ bret lr
UNWIND(.fnend)
ENDPROC(__aeabi_uidivmod)
@@ -344,7 +344,7 @@ UNWIND(.save {r0, r1, ip, lr} )
ldmfd sp!, {r1, r2, ip, lr}
mul r3, r0, r2
sub r1, r1, r3
- mov pc, lr
+ bret lr
UNWIND(.fnend)
ENDPROC(__aeabi_idivmod)
^ permalink raw reply related
* Re: [PATCH v2] ARM: net: JIT compiler for packet filters
From: Dave Martin @ 2011-12-19 18:18 UTC (permalink / raw)
To: Mircea Gherzan; +Cc: linux-arm-kernel, netdev
In-Reply-To: <20111219164513.GA25105@swarm.cs.pub.ro>
On Mon, Dec 19, 2011 at 06:45:13PM +0200, Mircea Gherzan wrote:
> Hi,
>
> On Mon, Dec 19, 2011 at 12:50:21PM +0000, Dave Martin wrote:
> > On Mon, Dec 19, 2011 at 09:40:30AM +0100, Mircea Gherzan wrote:
> > > Based of Matt Evans's PPC64 implementation.
> > >
> > > Supports only ARM mode with EABI.
> > >
> > > Supports both little and big endian. Depends on the support for
> > > unaligned loads on ARMv7. Does not support all the BPF opcodes
> > > that deal with ancillary data. The scratch memory of the filter
> > > lives on the stack.
> > >
> > > Enabled in the same way as for x86-64 and PPC64:
> > >
> > > echo 1 > /proc/sys/net/core/bpf_jit_enable
> > >
> > > A value greater than 1 enables opcode output.
> > >
> > > Signed-off-by: Mircea Gherzan <mgherzan@gmail.com>
> > > ---
> >
> > Interesting patch... I haven't reviewed in detail, but I have a few
> > quick comments.
> >
> > >
> > > Changes in v2:
> > > * enable the compiler ony for ARMv5+ because of the BLX instruction
> > > * use the same comparison for the ARM version checks
> > > * use misaligned accesses on ARMv6
> >
> > You probably want to change the commit message now to reflect this.
>
> Will do in the next version.
>
> >
> > > * fix the SEEN_MEM
> > > * fix the mem_words_used()
> > >
> > > arch/arm/Kconfig | 1 +
> > > arch/arm/Makefile | 1 +
> > > arch/arm/net/Makefile | 3 +
> > > arch/arm/net/bpf_jit_32.c | 838 +++++++++++++++++++++++++++++++++++++++++++++
> > > arch/arm/net/bpf_jit_32.h | 174 ++++++++++
> > > 5 files changed, 1017 insertions(+), 0 deletions(-)
> > > create mode 100644 arch/arm/net/Makefile
> > > create mode 100644 arch/arm/net/bpf_jit_32.c
> > > create mode 100644 arch/arm/net/bpf_jit_32.h
> > >
> > > diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig
> > > index abba5b8..ea65c41 100644
> > > --- a/arch/arm/Kconfig
> > > +++ b/arch/arm/Kconfig
> > > @@ -30,6 +30,7 @@ config ARM
> > > select HAVE_SPARSE_IRQ
> > > select GENERIC_IRQ_SHOW
> > > select CPU_PM if (SUSPEND || CPU_IDLE)
> > > + select HAVE_BPF_JIT if (!THUMB2_KERNEL && AEABI)
> >
> > Have to tried your code with a Thumb-2 kernel?
>
> Not yet.
>
> > Quickly skimming though your patch, I don't see an obvious reason why we
> > can't have that working, though I haven't tried it yet.
> >
> > Note that it's fine to have the JIT generating ARM code, even if the rest
> > if the kernel is Thumb-2. This would only start to cause problems if we
> > want to do things like set kprobes in the JITted code, or unwind out of
> > the JITted code.
> >
> > It's just necessary to make sure that calls/returns into/out of the
> > JITted code are handled correctly. You don't seem to do any scary
> > arithmetic or mov to or from pc or lr, and it doesn't look like you ever
> > call back into the kernel from JITted code, so the implementation is
> > probably safe for ARM/Thumb interworking already (if I've understood
> > correctly).
>
> The JITed code calls back to the kernel for the load helpers. So setting
> bit 0 is required.
When you take the address of a link-time external function symbol,
bit[0] in the address will automatically be set appropriately by the
linker to indicate the target instruction set -- you already use BX/BLX
to jump to such symbols, so you should switch correctly when calling
_to_ the kernel.
Returns should also work, except for old-style "mov pc,lr" returns made
in Thumb code (from ARM code, this magically works for >= v7). Such returns
only happen in hand-written assembler: for C code, the compiler always
generates proper AEABI-compliant return sequences.
So, for calling load_func[], jit_get_skb_b etc. (which are C functions),
there should be no problem.
I think the only code which you call from the JIT output but which does
not return compliantly is __aeabi_uidiv() in arch/arm/lib/lib1funcs.S.
I have a quick hacked-up patch (below) which attempts to fix this;
I'd be interested if this works for you -- but finalising your ARM-only
version of the patch should still be the priority.
If this fix does work, I'll turn it into a proper patch, as we can maybe
use it more widely.
[...]
> > > + case BPF_S_ALU_DIV_X:
> > > + ctx->seen |= SEEN_X;
> > > + emit(ARM_CMP_I(r_X, 0), ctx);
> > > + emit_err_ret(ARM_COND_EQ, ctx);
> > > + emit(ARM_MOV_R(ARM_R1, r_X), ctx);
> > > +div:
> > > + ctx->seen |= SEEN_CALL;
> > > +
> > > + emit(ARM_MOV_R(ARM_R0, r_A), ctx);
> > > + emit_mov_i(r_scratch, (u32)__aeabi_uidiv, ctx);
> > > + emit(ARM_BLX_R(r_scratch), ctx);
> > > + emit(ARM_MOV_R(r_A, ARM_R0), ctx);
> > > + break;
> >
> > I don't know how much division is used by the packet filter JIT. If
> > it gets used a significant amount, you might want to support hardware
> > divide for CPUs that have it:
>
> Division rarely appears in "normal" BPF filters: it must be an explicit
> part of the human-readable filter expression (the BPF compiler does not
> generate division opcodes in other cases, AFAICT). Nonetheless, support
> for hardware division would spare a bit of stack space for filters like
> "len / 100 == 1".
>
> > Cortex-A15 and later processors may have hardware integer divide
> > support. You can check for its availability at runtime using by testing
> > the HWCAP_IDIVA (for ARM) or HWCAP_IDIVT (for Thumb) bits in elf_hwcap
> > (see arch/arm/include/asm/hwcap.h).
>
> I will include this in the next version of the patch.
Ok, cool
Cheers
---Dave
^ permalink raw reply
page: next (older) | prev (newer) | latest
- recent:[subjects (threaded)|topics (new)|topics (active)]
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox