8 years agonet: use scnprintf() to avoid potential buffer overflow
Changli Gao [Tue, 24 Aug 2010 13:32:58 +0000]
net: use scnprintf() to avoid potential buffer overflow

strlcpy() returns the total length of the string they tried to create, so
we should not use its return value without any check. scnprintf() returns
the number of characters written into @buf not including the trailing '\0',
so use it instead here.

Signed-off-by: Changli Gao <xiaosuo@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>

8 years agonet/sctp: Use pr_fmt and pr_<level>
Joe Perches [Tue, 24 Aug 2010 13:21:08 +0000]
net/sctp: Use pr_fmt and pr_<level>

Change SCTP_DEBUG_PRINTK and SCTP_DEBUG_PRINTK_IPADDR to
use do { print } while (0) guards.
Add SCTP_DEBUG_PRINTK_CONT to fix errors in log when
lines were continued.
Add #define pr_fmt(fmt) KBUILD_MODNAME ": " fmt
Add a missing newline in "Failed bind hash alloc"

Signed-off-by: Joe Perches <joe@perches.com>
Signed-off-by: David S. Miller <davem@davemloft.net>

8 years agoipvs: switch to GFP_KERNEL allocations
Simon Horman [Thu, 26 Aug 2010 02:54:31 +0000]
ipvs: switch to GFP_KERNEL allocations

Switch from GFP_ATOMIC allocations to GFP_KERNEL ones in
ip_vs_add_service() and ip_vs_new_dest(), as we hold a mutex and are
allowed to sleep in this context.

Signed-off-by: Eric Dumazet <eric.dumazet@gmail.com>
Signed-off-by: Simon Horman <horms@verge.net.au>
Signed-off-by: David S. Miller <davem@davemloft.net>

8 years agoIPVS: convert __ip_vs_securetcp_lock to a spinlock
Simon Horman [Thu, 26 Aug 2010 02:54:30 +0000]
IPVS: convert __ip_vs_securetcp_lock to a spinlock

Also rename __ip_vs_securetcp_lock to ip_vs_securetcp_lock.

Spinlock conversion was suggested by Eric Dumazet.

Acked-by: Eric Dumazet <eric.dumazet@gmail.com>
Signed-off-by: Simon Horman <horms@verge.net.au>
Signed-off-by: David S. Miller <davem@davemloft.net>

8 years agoIPVS: convert __ip_vs_sched_lock to a spinlock
Simon Horman [Thu, 26 Aug 2010 02:54:29 +0000]
IPVS: convert __ip_vs_sched_lock to a spinlock

Also rename __ip_vs_sched_lock to ip_vs_sched_lock.

Acked-by: Eric Dumazet <eric.dumazet@gmail.com>
Signed-off-by: Simon Horman <horms@verge.net.au>
Signed-off-by: David S. Miller <davem@davemloft.net>

8 years agoIPVS: ICMPv6 checksum calculation
Simon Horman [Thu, 26 Aug 2010 20:21:26 +0000]
IPVS: ICMPv6 checksum calculation

Cc: Xiaoyu Du <tingsrain@gmail.com>
Signed-off-by: Julian Anastasov <ja@ssi.bg>
Signed-off-by: Simon Horman <horms@verge.net.au>
Signed-off-by: David S. Miller <davem@davemloft.net>

9 years agobna: Fixed build break for allyesconfig
Rasesh Mody [Thu, 26 Aug 2010 06:00:27 +0000]
bna: Fixed build break for allyesconfig

This is the patch to fix the build break caused by multiple
definitions of symbols between Brocade's FC/FCOE driver(BFA)
and 10G Networking Driver(BNA).

Changes are:

1. locally used functions are made static

2. unused functions are removed

3. using unique namespaces for the function names that must be
globally visible

Signed-off-by: Debashis Dutt <ddutt@brocade.com>
Signed-off-by: Rasesh Mody <rmody@brocade.com>
Signed-off-by: David S. Miller <davem@davemloft.net>

9 years agor6040: Free irq line on error path
Denis Kirjanov [Tue, 24 Aug 2010 23:57:55 +0000]
r6040: Free irq line on error path

Free irq line on error path.

Signed-off-by: Denis Kirjanov <dkirjanov@kernel.org>
Acked-by: Florian Fainelli <florian@openwrt.org>
Signed-off-by: David S. Miller <davem@davemloft.net>

9 years agos2io: remove lro parameter
Amerigo Wang [Wed, 25 Aug 2010 00:23:39 +0000]
s2io: remove lro parameter

Remove "lro" parameter of s2io driver.

Signed-off-by: WANG Cong <amwang@redhat.com>
Cc: jon.mason@exar.com
Acked-by: Jon Mason <jon.mason@exar.com>
Signed-off-by: David S. Miller <davem@davemloft.net>

9 years agobe2net: stats for packets received due to internal switching in ASIC.
Ajit Khaparde [Wed, 25 Aug 2010 00:32:56 +0000]
be2net: stats for packets received due to internal switching in ASIC.

Counters for packets received due to internal switching are already available.
This change will start displaying them in ethtool -S

Signed-off-by: Ajit Khaparde <ajitk@serverengines.com>
Signed-off-by: David S. Miller <davem@davemloft.net>

9 years agobe2net: fix to dynamically generate MAC Address for VFs
Ajit Khaparde [Wed, 25 Aug 2010 00:32:33 +0000]
be2net: fix to dynamically generate MAC Address for VFs

The BE ASIC/firmware doesnot reserve and assign MAC address for VFs.
This results in the VF interfaces being created with MAC Address 0.
The code change proposed takes the MAC address of PF to generate a seed.
MAC Address for VFs are assigned incrementally starting from the seed.
These addresses are programmed in the ASIC by the PF and the VF driver
queries for the MAC address during its probe.

Signed-off-by: Ajit Khaparde <ajitk@serverengines.com>
Signed-off-by: David S. Miller <davem@davemloft.net>

9 years agobridge: avoid ethtool on non running interface
stephen hemminger [Tue, 24 Aug 2010 13:12:56 +0000]
bridge: avoid ethtool on non running interface

If bridge port is offline, don't call ethtool to query speed.

Signed-off-by: Stephen Hemminger <shemminger@vyatta.com>
Signed-off-by: David S. Miller <davem@davemloft.net>

9 years agoqlge: Fix a deadlock when the interface is going down
Breno Leitao [Tue, 24 Aug 2010 12:50:40 +0000]
qlge: Fix a deadlock when the interface is going down

Currently qlge can deadlock when the interface is going
down, and the mpi_port_cfg_work() is executing on another
processor. It happens because unregister_netdev() holds
the rtnl lock, and the mpi_port_cfg_work() also request
this lock.

Since unregiter_netdev() may wait mpi_port_cfg_work(), who
also request the holding lock, it can cause an deadlock,
displaying the following error:

 "echo 0 > /proc/sys/kernel/hung_task_timeout_secs" disables this message.
 rmmod         D 00000080c6c1d190     0  3993   2081 0x00008080
 Call Trace:
 [c000000975f56ee0] [c0000000000152a0] .__switch_to+0x100/0x1d0
 [c000000975f56f70] [c0000000005781b4] .schedule+0x3a4/0x8c0
 [c000000975f570c0] [c000000000578e8c] .schedule_timeout+0x24c/0x350
 [c000000975f571e0] [c000000000578a88] .wait_for_common+0x198/0x210
 [c000000975f572c0] [c0000000000abbb4] .__cancel_work_timer+0x2c4/0x2e0
 [c000000975f57400] [d0000000078e7a20] .ql_adapter_down+0x80/0x260 [qlge]
 [c000000975f574b0] [d0000000078e7d80] .qlge_close+0x70/0x130 [qlge]
 [c000000975f57540] [c000000000497ef8] .__dev_close+0x98/0xf0
 [c000000975f575d0] [c000000000497f74] .dev_close+0x24/0x60
 [c000000975f57650] [c000000000498080] .rollback_registered_many+0xd0/0x2b0
 [c000000975f576f0] [c000000000498338] .rollback_registered+0x38/0x50
 [c000000975f57780] [c0000000004983d8] .unregister_netdevice_queue+0x88/0xe0
 [c000000975f57810] [c000000000498574] .unregister_netdev+0x24/0x40
 [c000000975f57890] [d0000000078f6f38] .qlge_remove+0x3c/0x78 [qlge]
 [c000000975f57920] [c0000000002d9298] .pci_device_remove+0x48/0x90
 [c000000975f579a0] [c000000000372850] .__device_release_driver+0xa0/0x130
 [c000000975f57a30] [c000000000372a08] .driver_detach+0x128/0x150
 [c000000975f57ad0] [c000000000371134] .bus_remove_driver+0xc4/0x1a0
 [c000000975f57b70] [c00000000037357c] .driver_unregister+0x8c/0xd0
 [c000000975f57c00] [c0000000002d968c] .pci_unregister_driver+0x5c/0x110
 [c000000975f57ca0] [d0000000078f6ee4] .qlge_exit+0x1c/0x34 [qlge]

Signed-off-by: Breno Leitao <leitao@linux.vnet.ibm.com>
Signed-off-by: Ron Mercer <ron.mercer@qlogic.com>
Signed-off-by: David S. Miller <davem@davemloft.net>

9 years agobridge: fix locking comment
Stephen Hemminger [Tue, 24 Aug 2010 13:08:10 +0000]
bridge: fix locking comment

The carrier check is not called from work queue in current code.

Signed-off-by: Stephen Hemminger <shemminger@vyatta.com>
Signed-off-by: David S. Miller <davem@davemloft.net>

9 years agonet/netfilter/ipvs: Eliminate memory leak
Julia Lawall [Tue, 24 Aug 2010 04:39:49 +0000]
net/netfilter/ipvs: Eliminate memory leak

__ip_vs_service_get and __ip_vs_svc_fwm_get increment a reference count, so
that reference count should be decremented before leaving the function in an
error case.

A simplified version of the semantic match that finds this problem is:
(http://coccinelle.lip6.fr/)

// <smpl>
@r exists@
local idexpression x;
expression E;
identifier f1;
iterator I;
@@

x = __ip_vs_service_get(...);
<... when != x
     when != true (x == NULL || ...)
     when != if (...) { <+...x...+> }
     when != I (...) { <+...x...+> }
(
 x == NULL
|
 x == E
|
 x->f1
)
...>
* return ...;
// </smpl>

Signed-off-by: Julia Lawall <julia@diku.dk>
Signed-off-by: Simon Horman <horms@verge.net.au>
Signed-off-by: David S. Miller <davem@davemloft.net>

9 years agodrivers/net/irda: Eliminate memory leak
Julia Lawall [Tue, 24 Aug 2010 04:38:33 +0000]
drivers/net/irda: Eliminate memory leak

dev_alloc_skb allocates some memory, so that memory should be freed before
leaving the function in an error case.

Corrected some typos in a nearby comment as well.

A simplified version of the semantic match that finds this problem is:
(http://coccinelle.lip6.fr/)

// <smpl>
@r exists@
local idexpression x;
expression E;
identifier f1;
iterator I;
@@

x = dev_alloc_skb(...);
<... when != x
     when != true (x == NULL || ...)
     when != if (...) { <+...x...+> }
     when != I (...) { <+...x...+> }
(
 x == NULL
|
 x == E
|
 x->f1
)
...>
* return ...;
// </smpl>

Signed-off-by: Julia Lawall <julia@diku.dk>
Signed-off-by: David S. Miller <davem@davemloft.net>

9 years agotyphoon: fix a race in typhoon_do_get_stats
Eric Dumazet [Tue, 24 Aug 2010 04:18:13 +0000]
typhoon: fix a race in typhoon_do_get_stats

Its important to store 'final' values in counters,
not using them as temporary variables,
or this might break some SNMP applications.

Signed-off-by: Eric Dumazet <eric.dumazet@gmail.com>
Acked-by: David Dillow <dave@thedillows.org>
Signed-off-by: David S. Miller <davem@davemloft.net>

9 years agoplip: remove superflous return
Dan Carpenter [Tue, 24 Aug 2010 02:01:05 +0000]
plip: remove superflous return

This return isn't reachable and it obscures the goto on the line before.

Signed-off-by: Dan Carpenter <error27@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>

9 years agostmmac: make ioaddr 'void __iomem *' rather than unsigned long
Giuseppe CAVALLARO [Mon, 23 Aug 2010 20:40:42 +0000]
stmmac: make ioaddr 'void __iomem *' rather than unsigned long

This avoids unnecessary casting and adds the ioaddr in the
private structure.
This patch also removes many warning when compile the driver.

Signed-off-by: Giuseppe Cavallaro <peppe.cavallaro@st.com>
Signed-off-by: David S. Miller <davem@davemloft.net>

9 years agostmmac: remove dead option in the driver's Kconfig
Giuseppe CAVALLARO [Mon, 23 Aug 2010 20:40:41 +0000]
stmmac: remove dead option in the driver's Kconfig

This patch removes the CPU_SUBTYPE_ST40 dependency in the
driver's Kconfig.
In fact, this option has been removed in the commit:
 f96691872439ab2071171d4531c4a95b5d493ae5
as reported by Christian Dietrich.

Note that the driver remains tested on STM platforms, only.

Signed-off-by: Giuseppe Cavallaro <peppe.cavallaro@st.com>
Signed-off-by: David S. Miller <davem@davemloft.net>

9 years agostmmac: fix_mac_speed is called during 10/100<->1000 speed changes
Pawel Moll [Mon, 23 Aug 2010 20:40:40 +0000]
stmmac: fix_mac_speed is called during 10/100<->1000 speed changes

This patch modifies the stmmac_adjust_link() function so the
fix_mac_speed() is called not only when link speed is changing
between 10 and 100 Mbps (as required in RMII mode) but also
for 1000 Mbps.

Signed-off-by: Pawel Moll <pawel.moll@st.com>
Signed-off-by: Giuseppe Cavallaro <peppe.cavallaro@st.com>
Signed-off-by: David S. Miller <davem@davemloft.net>

9 years agobnx2x: small fix in stats handling
Eric Dumazet [Mon, 23 Aug 2010 19:44:08 +0000]
bnx2x: small fix in stats handling

Use a private variable to fold rx_dropped value, instead of shared
destination buffer, as it might break SNMP applications.

Signed-off-by: Eric Dumazet <eric.dumazet@gmail.com>
CC: Eilon Greenstein <eilong@broadcom.com>
CC: Dmitry Kravkov <dmitry@broadcom.com>
Acked-By: Eilon Greenstein <eilong@broadcom.com>
Signed-off-by: David S. Miller <davem@davemloft.net>

9 years agodrivers/net: Remove address use from assignments of function pointers
Joe Perches [Mon, 23 Aug 2010 18:20:03 +0000]
drivers/net: Remove address use from assignments of function pointers

"foo = &function" is more commonly written "foo = function"

Done with coccinelle script:

// <smpl>
@r@
identifier f;
@@

f(...) { ... }

@@
identifier r.f;
@@

- &f
+ f
// </smpl>

drivers/net/tehuti.c used a function and struct with the
same name, the function was renamed.

Compile tested x86 only.

Signed-off-by: Joe Perches <joe@perches.com>
Signed-off-by: David S. Miller <davem@davemloft.net>

9 years agoqlcnic: change reg name
Amit Kumar Salecha [Wed, 25 Aug 2010 04:03:05 +0000]
qlcnic: change reg name

Change QLCNIC_CRB_DEV_REF_COUNT to QLCNIC_CRB_DRV_ACTIVE to match
document.

Signed-off-by: Amit Kumar Salecha <amit.salecha@qlogic.com>
Signed-off-by: David S. Miller <davem@davemloft.net>

9 years agoqlcnic: fix fw recovery for PF
Amit Kumar Salecha [Wed, 25 Aug 2010 04:03:04 +0000]
qlcnic: fix fw recovery for PF

Privilege function should wait for npar state to be operational
before creating context.

Signed-off-by: Amit Kumar Salecha <amit.salecha@qlogic.com>
Signed-off-by: David S. Miller <davem@davemloft.net>

9 years agoqlcnic: support port vlan id
Amit Kumar Salecha [Wed, 25 Aug 2010 04:03:03 +0000]
qlcnic: support port vlan id

On NIC Partition capable adapter, Administrator can configure to
tag packet with particular vlan id. Packet will be tagged and strip with
that vlan id. Also if 'Tagging' flag is disable, other packet will be drop.

Signed-off-by: Amit Kumar Salecha <amit.salecha@qlogic.com>
Signed-off-by: David S. Miller <davem@davemloft.net>

9 years agoqlcnic: eswitch config fixes
Rajesh Borundia [Wed, 25 Aug 2010 04:03:02 +0000]
qlcnic: eswitch config fixes

o remove validation before deleting vlan id
o Add missing 'break' while deleting vlan id.

Signed-off-by: Rajesh Borundia <rajesh.borundia@qlogic.com>
Signed-off-by: Amit Kumar Salecha <amit.salecha@qlogic.com>
Signed-off-by: David S. Miller <davem@davemloft.net>

9 years agoMerge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wirel...
John W. Linville [Wed, 25 Aug 2010 18:51:42 +0000]
Merge branch 'master' of git://git./linux/kernel/git/linville/wireless-next-2.6 into for-davem

Conflicts:
drivers/net/wireless/libertas/if_sdio.c

9 years agomlx4_en: Fix build warning in mlx4_en_create_rx_ring.
David S. Miller [Tue, 24 Aug 2010 22:06:27 +0000]
mlx4_en: Fix build warning in mlx4_en_create_rx_ring.

drivers/net/mlx4/en_rx.c: In function ‘mlx4_en_create_rx_ring’:
drivers/net/mlx4/en_rx.c:305: warning: label ‘err_map’ defined but not used

Signed-off-by: David S. Miller <davem@davemloft.net>

9 years agomlx4_en: updated driver version
Yevgeny Petrilin [Tue, 24 Aug 2010 03:46:49 +0000]
mlx4_en: updated driver version

Signed-off-by: Yevgeny Petrilin <yevgenyp@mellanox.co.il>
Signed-off-by: David S. Miller <davem@davemloft.net>

9 years agomlx4_en: Moving to work with GRO
Yevgeny Petrilin [Tue, 24 Aug 2010 03:46:46 +0000]
mlx4_en: Moving to work with GRO

Signed-off-by: Yevgeny Petrilin <yevgenyp@mellanox.co.il>
Signed-off-by: David S. Miller <davem@davemloft.net>

9 years agomlx4_en: UDP RSS support
Yevgeny Petrilin [Tue, 24 Aug 2010 03:46:42 +0000]
mlx4_en: UDP RSS support

Adding capability for RSS for UDP traffic, hashing is done based on
IP addresses and UDP port number.
The support depends on HW/FW capabilities.

Signed-off-by: Yevgeny Petrilin <yevgenyp@mellanox.co.il>
Signed-off-by: David S. Miller <davem@davemloft.net>

9 years agomlx4_en: reconfiguring mac address.
Yevgeny Petrilin [Tue, 24 Aug 2010 03:46:38 +0000]
mlx4_en: reconfiguring mac address.

When Mac address is removed from one port of the CX2 device, the other device
should reconfigure its Mac.
This fixes an issue with failover, when both ports have the same Mac address,
and one of the ports, is closed, the second one stops receiving traffic.
(bugzilla #1965 at bugs.openfabrics.org)

Signed-off-by: Yevgeny Petrilin <yevgenyp@mellanox.co.il>
Signed-off-by: David S. Miller <davem@davemloft.net>

9 years agomlx4_en: get/set ringsize uses actual ring size
Yevgeny Petrilin [Tue, 24 Aug 2010 03:46:34 +0000]
mlx4_en: get/set ringsize uses actual ring size

In case that the rings were not fully filled, the report in Ethtool
should be according to the actual size that was filled.

Signed-off-by: Yevgeny Petrilin <yevgenyp@mellanox.co.il>
Signed-off-by: David S. Miller <davem@davemloft.net>

9 years agomlx4_en: Fixing report in Ethtool get_settings
Yevgeny Petrilin [Tue, 24 Aug 2010 03:46:23 +0000]
mlx4_en: Fixing report in Ethtool get_settings

The report now based on query from FW, giving the correct tranciever type
and link speed.

Signed-off-by: Yevgeny Petrilin <yevgenyp@mellanox.co.il>
Signed-off-by: David S. Miller <davem@davemloft.net>

9 years agomlx4_en: Added self diagnostics test implementation
Yevgeny Petrilin [Tue, 24 Aug 2010 03:46:18 +0000]
mlx4_en: Added self diagnostics test implementation

The selftest includes 5 features:
1. Interrupt test: Executing commands and receiving command completion
   on all our interrupt vectors.
2. Link test: Verifying we are connected to valid link partner.
3. Speed test: Check that we negotiated link speed correctly.
4. Registers test: Activate HW health check command.
5. Loopback test: Send a packet on loopback interface and catch it on RX side.

Signed-off-by: Yevgeny Petrilin <yevgenyp@mellanox.co.il>
Signed-off-by: David S. Miller <davem@davemloft.net>

9 years agomlx4_en: Validate port up prior to transmitting
Yevgeny Petrilin [Tue, 24 Aug 2010 03:46:07 +0000]
mlx4_en: Validate port up prior to transmitting

We might try to use resources which were not activated.

Signed-off-by: Yevgeny Petrilin <yevgenyp@mellanox.co.il>
Signed-off-by: David S. Miller <davem@davemloft.net>

9 years agomlx4_en: Reporting link state with KERN_INFO
Yevgeny Petrilin [Tue, 24 Aug 2010 03:46:01 +0000]
mlx4_en: Reporting link state with KERN_INFO

Signed-off-by: Yevgeny Petrilin <yevgenyp@mellanox.co.il>
Signed-off-by: David S. Miller <davem@davemloft.net>

9 years agomlx4_en: Fixed MAX_TX_RINGS definition
Yevgeny Petrilin [Tue, 24 Aug 2010 03:45:54 +0000]
mlx4_en: Fixed MAX_TX_RINGS definition

Defined as sum of default number of TX rings and number of
rings used for priority flow control mode.

Signed-off-by: Yevgeny Petrilin <yevgenyp@mellanox.co.il>
Signed-off-by: David S. Miller <davem@davemloft.net>

9 years agomlx4_en: performing CLOSE_PORT at the end of tear-down process
Yevgeny Petrilin [Tue, 24 Aug 2010 03:45:45 +0000]
mlx4_en: performing CLOSE_PORT at the end of tear-down process

All port's resources should be closed before we give the
CLOSE_PORT command to the firmware.

Signed-off-by: Yevgeny Petrilin <yevgenyp@mellanox.co.il>
Signed-off-by: David S. Miller <davem@davemloft.net>

9 years agomlx4_en: Setting dev->perm_addr field
Yevgeny Petrilin [Tue, 24 Aug 2010 03:45:30 +0000]
mlx4_en: Setting dev->perm_addr field

Signed-off-by: Yevgeny Petrilin <yevgenyp@mellanox.co.il>
Signed-off-by: David S. Miller <davem@davemloft.net>

9 years agomlx4_en: Setting actual RX ring size
Yevgeny Petrilin [Tue, 24 Aug 2010 03:45:20 +0000]
mlx4_en: Setting actual RX ring size

When configuring HW resources, the RX ring size that is passed should be the actual
size that depends on number of buffers that we succeeded to allocate.
The mask for ring size should also be configured accordingly

Signed-off-by: Yevgeny Petrilin <yevgenyp@mellanox.co.il>
Signed-off-by: David S. Miller <davem@davemloft.net>

9 years agomlx4_en: Fixed incorrect unmapping on RX flow.
Yevgeny Petrilin [Tue, 24 Aug 2010 03:45:05 +0000]
mlx4_en: Fixed incorrect unmapping on RX flow.

When allocating new fragments to replace the ones that would be passed to the stack,
The fragments that should be replaced, are the ones that were already used.

Signed-off-by: Yevgeny Petrilin <yevgenyp@mellanox.co.il>
Signed-off-by: David S. Miller <davem@davemloft.net>

9 years agotc: add meta match on receive hash
Stephen Hemminger [Tue, 24 Aug 2010 21:48:10 +0000]
tc: add meta match on receive hash

Trivial extension to existing meta data match rules to allow
matching on skb receive hash value.

Signed-off-by: Stephen Hemminger <shemminger@vyatta.com>
Signed-off-by: David S. Miller <davem@davemloft.net>

9 years agoinclude/linux/if_ether.h: Remove unused #define MAC_FMT
Joe Perches [Tue, 24 Aug 2010 21:46:53 +0000]
include/linux/if_ether.h: Remove unused #define MAC_FMT

Last use was removed, so remove the #define.

Signed-off-by: Joe Perches <joe@perches.com>
Signed-off-by: David S. Miller <davem@davemloft.net>

9 years agonet: ip_append_data() optim
Eric Dumazet [Tue, 24 Aug 2010 21:45:09 +0000]
net: ip_append_data() optim

Compiler is not smart enough to avoid a conditional branch.

Signed-off-by: Eric Dumazet <eric.dumazet@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>

9 years agoMerge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wirel...
John W. Linville [Tue, 24 Aug 2010 20:35:40 +0000]
Merge branch 'master' of git://git./linux/kernel/git/linville/wireless-2.6

Conflicts:
drivers/net/wireless/iwlwifi/iwl-core.c
drivers/net/wireless/iwlwifi/iwl-core.h

9 years agocfg80211: add some documentation
Johannes Berg [Thu, 19 Aug 2010 14:11:27 +0000]
cfg80211: add some documentation

Add some documentation for cfg80211. I'm hoping some of
the regulatory documentation will be filled by somebody
more familiar with it, hint hint! :)

Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>

9 years agoiwlwifi: do not spuriously call ieee80211_scan_completed
Johannes Berg [Wed, 18 Aug 2010 16:35:22 +0000]
iwlwifi: do not spuriously call ieee80211_scan_completed

When a scan is aborted because the corresponding
virtual interface is removed, we may still later
attempt to tell mac80211 that the scan completed.
This is obviously wrong, since we already told it
that it was aborted, so don't do that.

Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Signed-off-by: Wey-Yi Guy <wey-yi.w.guy@intel.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>

9 years agoiwlagn: do not check for AP mode for WEP keys
Johannes Berg [Wed, 18 Aug 2010 16:35:21 +0000]
iwlagn: do not check for AP mode for WEP keys

Even when we configure WEP keys in AP mode
ones without a station pointer are default
keys, so don't check for AP mode here.

Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Signed-off-by: Wey-Yi Guy <wey-yi.w.guy@intel.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>

9 years agoath9k_htc: Add support for bluetooth coexistence.
Vivek Natarajan [Wed, 18 Aug 2010 14:27:49 +0000]
ath9k_htc: Add support for bluetooth coexistence.

Signed-off-by: Vivek Natarajan <vnatarajan@atheros.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>

9 years agoath9k_common: Move bt_stomp to common for sharing with ath9k_htc.
Vivek Natarajan [Wed, 18 Aug 2010 14:27:48 +0000]
ath9k_common: Move bt_stomp to common for sharing with ath9k_htc.

Signed-off-by: Vivek Natarajan <vnatarajan@atheros.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>

9 years agonl80211: some documentation fixes
Johannes Berg [Wed, 18 Aug 2010 15:44:36 +0000]
nl80211: some documentation fixes

The nl80211 documentation is currently never
generated, so problems have accumulated. Fix
most of the trivial ones.

Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>

9 years agomac80211: fix docbook
Johannes Berg [Wed, 18 Aug 2010 13:01:23 +0000]
mac80211: fix docbook

Fix a small problem in the documentation for
ieee80211_request_smps, and a now erroneous
inclusion of enum ieee80211_key_alg, which no
longer exists after the change to ciphers.

Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>

9 years agowl1251: wait for join command complete event
Grazvydas Ignotas [Tue, 17 Aug 2010 19:46:55 +0000]
wl1251: wait for join command complete event

Poll for join command completion instead of waiting blindly for 10
msecs. There is a timeout of 100 msecs, if the command doesn't complete
by then, we return an error code.

Based on wl1271 patch 99d84c1de8fdf5f9b09f07fdbc628857a040bf8b
by Luciano Coelho.

Signed-off-by: Grazvydas Ignotas <notasas@gmail.com>
Acked-by: Kalle Valo <kvalo@adurom.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>

9 years agowl1251: fix beacon filter table structure
Grazvydas Ignotas [Tue, 17 Aug 2010 19:46:54 +0000]
wl1251: fix beacon filter table structure

The beacon filter table configuration ACX structure had certain elements
reversed, fix it to match TI driver.

Based on wl1271 patch 1937e742639c03a6fe77239c3003ce9602302117 by
Juuso Oikarinen.

Signed-off-by: Grazvydas Ignotas <notasas@gmail.com>
Acked-by: Kalle Valo <kvalo@adurom.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>

9 years agowl1251: fix event handling mechanism
Grazvydas Ignotas [Tue, 17 Aug 2010 19:46:53 +0000]
wl1251: fix event handling mechanism

In case both A and B events occured simultaneously, current code
would only process A and clear both interrupts. Make it process both
events instead.

Based on wl1271 patches by Juuso Oikarinen:
1fd2794f36913992798184c464fe8f85753b13e0
13f2dc52c69bcca074cd12d4806953b2af45c386

Signed-off-by: Grazvydas Ignotas <notasas@gmail.com>
Acked-by: Kalle Valo <kvalo@adurom.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>

9 years agowl1251: add missing __packed modifier for some structs
Grazvydas Ignotas [Tue, 17 Aug 2010 19:46:52 +0000]
wl1251: add missing __packed modifier for some structs

Several acx and cmd structures are missing __packed modifier, add it.
This was noticed while comparing them with corresponding wl1271 code.

Signed-off-by: Grazvydas Ignotas <notasas@gmail.com>
Acked-by: Kalle Valo <kvalo@adurom.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>

9 years agoiwlwifi: move debug options into submenu
Jay Sternberg [Thu, 12 Aug 2010 19:15:55 +0000]
iwlwifi: move debug options into submenu

more debug options being added so it is useful to move them
into a submenu for ease of readability when using config commands
like make menuconfig and make xconfig

Signed-off-by: Jay Sternberg <jay.e.sternberg@intel.com>
Signed-off-by: Wey-Yi Guy <wey-yi.w.guy@intel.com>

9 years agoiwlwifi: enable experimental ucode support
Jay Sternberg [Thu, 12 Aug 2010 17:24:07 +0000]
iwlwifi: enable experimental ucode support

ucode firmware may need to be released as experimental for testing or
debugging. released ucode filenames have the API version as the last
component.  experimental ucode files will have that component be "exp"
and the fw_version string reported by ethtool will also contain the
string EXP to clearly identify this ucode from released ucode.
EXP is short for EXPERIMENTAL since fw_version has a max lenght on 32.

this capability is controlled by Kconfig and defaulted to not be used.

Signed-off-by: Jay Sternberg <jay.e.sternberg@intel.com>
Signed-off-by: Wey-Yi Guy <wey-yi.w.guy@intel.com>

9 years agoiwlwifi: remove unused iwl_send_card_state function
Wey-Yi Guy [Wed, 11 Aug 2010 14:30:20 +0000]
iwlwifi: remove unused iwl_send_card_state function

iwl_send_card_state() is not being call from anywhere, remove it.

Signed-off-by: Wey-Yi Guy <wey-yi.w.guy@intel.com>

9 years agoiwlwifi: configurable ampdu factor and density
Wey-Yi Guy [Wed, 4 Aug 2010 19:02:43 +0000]
iwlwifi: configurable ampdu factor and density

Add ampdu factor and density to .cfg, this allow both parameters
can be configure per device based.

Signed-off-by: Wey-Yi Guy <wey-yi.w.guy@intel.com>

9 years agoiwlwifi: more generic name for rssi calc in iwlagn
Wey-Yi Guy [Wed, 4 Aug 2010 15:42:17 +0000]
iwlwifi: more generic name for rssi calc in iwlagn

Change the define to more generic naming to match _agn devices
since the rssi calculation are common function for 5000 series and up

Signed-off-by: Wey-Yi Guy <wey-yi.w.guy@intel.com>

9 years agoiwlwifi: additional parameter in REPLY_RX_PHY_CMD
Wey-Yi Guy [Wed, 4 Aug 2010 15:05:33 +0000]
iwlwifi: additional parameter in REPLY_RX_PHY_CMD

Adding additional parameter in REPLY_RX_PHY_CMD, frame_time indicate the
frame's time on the air based on byte count and frame rate calculation

Signed-off-by: Wey-Yi Guy <wey-yi.w.guy@intel.com>

9 years agoiwlagn: continue perform rate scale when error detected
Wey-Yi Guy [Tue, 3 Aug 2010 15:23:32 +0000]
iwlagn: continue perform rate scale when error detected

If for some reason, the actual link command not matching neither
active nor search table; instead of return and not performing rate
scale, by-pass the data collection and continue the rate scale process.

Signed-off-by: Wey-Yi Guy <wey-yi.w.guy@intel.com>

9 years agoiwlagn: adjust starting action for rate scale
Wey-Yi Guy [Sat, 31 Jul 2010 15:52:03 +0000]
iwlagn: adjust starting action for rate scale

During rate scale, reset starting action after making action adjustment
to avoid the possibility of break out of loop too early.

Signed-off-by: Wey-Yi Guy <wey-yi.w.guy@intel.com>

9 years agoiwlwifi: refactor iwl_setup_rxon_timing
Johannes Berg [Thu, 29 Jul 2010 14:07:51 +0000]
iwlwifi: refactor iwl_setup_rxon_timing

All callers of iwl_setup_rxon_timing() also send
the command right away, so rename the function
to iwl_send_rxon_timing() and move the sending
into it. Also, some callers clear the data, this
can be done always and thus moved in as well.
Finally, there's no reason for the function to
acquire the spinlock, but it should be called
with the mutex held, so assert that.

Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Signed-off-by: Wey-Yi Guy <wey-yi.w.guy@intel.com>

9 years agoiwlwifi: cleanup iwl_set_rxon_channel()
Shanyu Zhao [Wed, 28 Jul 2010 03:45:15 +0000]
iwlwifi: cleanup iwl_set_rxon_channel()

Update outdated comments of iwl_set_rxon_channel() to reflect the
current signature. Also remove the unnecessary validation of the
channel. Those channel info are constructed in iwlwifi driver
and mac80211 will never modify the content of the struct. Also
everytime before this function is called the channel info has
been validated already (as a paranoid check).

Signed-off-by: Shanyu Zhao <shanyu.zhao@intel.com>
Signed-off-by: Wey-Yi Guy <wey-yi.w.guy@intel.com>

9 years agoiwlwifi: avoid race condition in channel change
Shanyu Zhao [Wed, 28 Jul 2010 20:40:39 +0000]
iwlwifi: avoid race condition in channel change

When iwl_mac_config() is called by mac80211, the channel pointer
hw->conf->channel can potentially change, resulting in mismatch
band and channel number when configuring RXON command. To avoid
this situation, save the channel pointer in local variables
and validate the channel before using it. Note that priv->mutex
is locked during the whole function so the local variables are safe.

Same change is applied to iwl_mac_channel_switch() since basically
it copies code from iwl_mac_config().

Also removed an outdated comment in the flow.

Signed-off-by: Shanyu Zhao <shanyu.zhao@intel.com>
Signed-off-by: Wey-Yi Guy <wey-yi.w.guy@intel.com>

9 years agoiwlwifi: do not call ieee80211_frequency_to_channel
Shanyu Zhao [Wed, 28 Jul 2010 20:40:27 +0000]
iwlwifi: do not call ieee80211_frequency_to_channel

A few cases in iwlwifi driver function ieee80211_frequency_to_channel()
is called to get channel number from center frequency. This is not needed
since the channel number is already saved in hw_value field of struct
ieee80211_channel in function iwlcore_init_geos(). So replace those function
calls with hw_value field of struct ieee80211_channel.

Signed-off-by: Shanyu Zhao <shanyu.zhao@intel.com>
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Signed-off-by: Wey-Yi Guy <wey-yi.w.guy@intel.com>

9 years agoiwlwifi: make aggregation time limit configurable
Wey-Yi Guy [Wed, 28 Jul 2010 16:18:54 +0000]
iwlwifi: make aggregation time limit configurable

By default, aggregation time limit is 4000 uSec, add the parameter to
.cfg
to allow this parameter can be configure per device base if needed.

Signed-off-by: Wey-Yi Guy <wey-yi.w.guy@intel.com>

9 years agoiwlwifi: max/min aggregation time limit
Wey-Yi Guy [Wed, 28 Jul 2010 16:18:53 +0000]
iwlwifi: max/min aggregation time limit

Set the minimum and maximum for aggregation time limit in uSec.

Signed-off-by: Wey-Yi Guy <wey-yi.w.guy@intel.com>

9 years agoiwlwifi: additional comments in iwl_cfg
Wey-Yi Guy [Fri, 23 Jul 2010 23:49:44 +0000]
iwlwifi: additional comments in iwl_cfg

No functional changes, just add additional comments to iwl_cfg structure

Signed-off-by: Wey-Yi Guy <wey-yi.w.guy@intel.com>

9 years agoiwlwifi: remove unused define
Wey-Yi Guy [Fri, 23 Jul 2010 20:42:39 +0000]
iwlwifi: remove unused define

IWL_SIXTY_SECS is not been used, remove it

Signed-off-by: Wey-Yi Guy <wey-yi.w.guy@intel.com>

9 years agoHostap: Fix "'ret' set but not used" warning message from GCC in hostap
Julian Calaby [Tue, 17 Aug 2010 18:52:41 +0000]
Hostap: Fix "'ret' set but not used" warning message from GCC in hostap

CC [M] drivers/net/wireless/hostap/hostap_ioctl.o
drivers/net/wireless/hostap/hostap_ioctl.c: In function 'prism2_request_scan':
drivers/net/wireless/hostap/hostap_ioctl.c:1666:6: warning: variable 'ret' set but not used

Signed-off-by: Julian Calaby <julian.calaby@gmail.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>

9 years agoiwlwifi: fix thermal throttling related power management operation
Wey-Yi Guy [Fri, 6 Aug 2010 19:39:14 +0000]
iwlwifi: fix thermal throttling related power management operation

The current approach is very broken because it adds an
often-used code path that will not initialise "cmd" at all.

Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Signed-off-by: Shanyu Zhao <shanyu.zhao.intel.com>
Signed-off-by: Wey-Yi Guy <wey-yi.w.guy@intel.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>

9 years agomac80211-hwsim: allow configuring IBSS
Johannes Berg [Tue, 17 Aug 2010 10:08:07 +0000]
mac80211-hwsim: allow configuring IBSS

It will not look standard-compliant in a sniffer
because because it doesn't
 * sync TSF
 * adjust the TSF in beacons
 * send beacons at TBTT
 * cancel beacons when another phy sends

However, it does allow testing the configuration
and parts of the mac80211 code for IBSS and as
such is still useful.

Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>

9 years agowireless: move documentation books
Johannes Berg [Tue, 17 Aug 2010 10:04:34 +0000]
wireless: move documentation books

This moves mac80211 documentation into a new
802.11 bookset and also adds a cfg80211 book
to the set. All of this is rather incomplete,
but it's easier to work with big code moving
as a separate patch.

Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>

9 years agop54: improve eeprom parser
Christian Lamparter [Mon, 16 Aug 2010 23:16:58 +0000]
p54: improve eeprom parser

Like other vendors, p54* devices have a checksum for
the EEPROM descriptor data. This patch enhances the
parser code to generate and verify the data fields,
before initializing the radio-chip on the card.

Note:
If you have to bootstrap an alternative EEPROM image
for your device and you don't know how to generate a
valid crc ccitt checksum, you should take a look at:
http://git.kernel.org/?p=linux/kernel/git/chr/p54tools.git

The "checksum" utility loads a binary p54 EEPROM blob
(use the -f switch, to skip the check) and applies
the correct crc automatically.

Signed-off-by: Christian Lamparter <chunkeey@googlemail.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>

9 years agop54spi: fix eeprom checksum
Christian Lamparter [Mon, 16 Aug 2010 23:16:05 +0000]
p54spi: fix eeprom checksum

This patch corrects the bogus descriptor checksum of our
Nokia N8XX EEPROM blob.

Signed-off-by: Christian Lamparter <chunkeey@googlemail.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>

9 years agob43: N-PHY: Implement RX core state setting for rev.2 and earlier PHYs
Gábor Stefanik [Mon, 16 Aug 2010 20:39:17 +0000]
b43: N-PHY: Implement RX core state setting for rev.2 and earlier PHYs

Rev.3+ support coming in a later patch.

Signed-off-by: Gábor Stefanik <netrolller.3d@gmail.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>

9 years agob43: N-PHY: Implement MAC PHY clock set
Gábor Stefanik [Mon, 16 Aug 2010 20:39:16 +0000]
b43: N-PHY: Implement MAC PHY clock set

Signed-off-by: Gábor Stefanik <netrolller.3d@gmail.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>

9 years agob43: N-PHY: Fix typo in function name (gain_crtl -> gain_ctrl)
Gábor Stefanik [Mon, 16 Aug 2010 20:39:15 +0000]
b43: N-PHY: Fix typo in function name (gain_crtl -> gain_ctrl)

Signed-off-by: Gábor Stefanik <netrolller.3d@gmail.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>

9 years agob43: N-PHY: Implement Host Flags write during device init
Gábor Stefanik [Mon, 16 Aug 2010 20:39:14 +0000]
b43: N-PHY: Implement Host Flags write during device init

Signed-off-by: Gábor Stefanik <netrolller.3d@gmail.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>

9 years agoiwlwifi: separate thermal throttling function
Wey-Yi Guy [Sat, 31 Jul 2010 15:34:07 +0000]
iwlwifi: separate thermal throttling function

"Thermal Throttling" is an advance feature which only available for
newer _agn devices. Move from iwl-core to iwl-agn for better code
organization.

Signed-off-by: Wey-Yi Guy <wey-yi.w.guy@intel.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>

9 years agodrivers/net/wireless/wl12xx: Use available error codes
Julia Lawall [Mon, 16 Aug 2010 16:27:30 +0000]
drivers/net/wireless/wl12xx: Use available error codes

Error codes are stored in ret, but the return value is always 0.  Return
ret instead.

The semantic match that finds this problem is as follows:
(http://coccinelle.lip6.fr/)

// <smpl>
@r@
local idexpression x;
constant C;
@@

if (...) { ...
  x = -C
  ... when != x
(
  return <+...x...+>;
|
  return NULL;
|
  return;
|
* return ...;
)
}
// </smpl>

Signed-off-by: Julia Lawall <julia@diku.dk>
Signed-off-by: John W. Linville <linville@tuxdriver.com>

9 years agodrivers/net/wireless/wl12xx: Use available error codes
Julia Lawall [Mon, 16 Aug 2010 16:25:21 +0000]
drivers/net/wireless/wl12xx: Use available error codes

In each case, error codes are stored in ret, but the return value is always
0.  Return ret instead.

The semantic match that finds this problem is as follows:
(http://coccinelle.lip6.fr/)

// <smpl>
@r@
local idexpression x;
constant C;
@@

if (...) { ...
  x = -C
  ... when != x
(
  return <+...x...+>;
|
  return NULL;
|
  return;
|
* return ...;
)
}
// </smpl>

Signed-off-by: Julia Lawall <julia@diku.dk>
Acked-by: Kalle Valo <kvalo@adurom.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>

9 years agoath5k: don't enable probe request rx for STAs
Bob Copeland [Sun, 15 Aug 2010 17:03:15 +0000]
ath5k: don't enable probe request rx for STAs

AR5K_RX_FILTER_PROBEREQ enables reception of probe requests,
but the filter flag FIF_BCN_PRBRESP_PROMISC is actually about
receiving beacons and probe _responses_, so we shouldn't
turn on the filter when scanning.

Signed-off-by: Bob Copeland <me@bobcopeland.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>

9 years agoath5k: remove all mention of monitor iftype
Bob Copeland [Sun, 15 Aug 2010 17:03:14 +0000]
ath5k: remove all mention of monitor iftype

Monitor interfaces are never seen by the driver so these
cases are never reached.

Signed-off-by: Bob Copeland <me@bobcopeland.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>

9 years agoath5k: remove monitor check in receive_frame_ok filter
Bob Copeland [Sun, 15 Aug 2010 17:03:13 +0000]
ath5k: remove monitor check in receive_frame_ok filter

Monitor interfaces are never seen by the driver, so tests based on
that opmode don't make sense.  Also, we already pass all mic
failure packets.

Consequently this code is actually accepting any frames with just
crypto errors and rejecting those with CRC, FIFO, and PHY errors for
all interface types.  Adjust the code and comment accordingly.

Signed-off-by: Bob Copeland <me@bobcopeland.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>

9 years agoath5k: clean up some comments
Bob Copeland [Sun, 15 Aug 2010 17:03:12 +0000]
ath5k: clean up some comments

This fixes a few misspellings, word repetitions, and some grammar
nits in ath5k comments.  No code changes.

Signed-off-by: Bob Copeland <me@bobcopeland.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>

9 years agoath5k: remove own (wrong) IEEE80211_MAX_LEN
Nick Kossifidis [Sun, 15 Aug 2010 17:03:11 +0000]
ath5k: remove own (wrong) IEEE80211_MAX_LEN

Use the version already supplied in include/linux/ieee80211.h.

Signed-off-by: Bob Copeland <me@bobcopeland.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>

9 years agoath5k: rename ath5k_hw_set_associd to _set_bssid
Nick Kossifidis [Sun, 15 Aug 2010 17:03:10 +0000]
ath5k: rename ath5k_hw_set_associd to _set_bssid

Although the named function also sets the aid, its main
purpose is configuring the bssid and we use that
everywhere else.

Signed-off-by: Bob Copeland <me@bobcopeland.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>

9 years agocfg80211/mac80211: extensible frame processing
Johannes Berg [Thu, 12 Aug 2010 13:38:38 +0000]
cfg80211/mac80211: extensible frame processing

Allow userspace to register for more than just
action frames by giving the frame subtype, and
make it possible to use this in various modes
as well.

With some tweaks and some added functionality
this will, in the future, also be usable in AP
mode and be able to replace the cooked monitor
interface currently used in that case.

Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>

9 years agomac80211: remove unused don't-encrypt flag
Johannes Berg [Thu, 12 Aug 2010 13:37:29 +0000]
mac80211: remove unused don't-encrypt flag

When MFP is disabled, action frames will not
be encrypted since they are management frames
and the only management frames that can then
be encrypted are authentication frames.

Therefore, setting the don't-encrypt flag on
action frames is unnecessary.

Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>

9 years agocfg80211: mark ieee80211_hdrlen const
Johannes Berg [Thu, 12 Aug 2010 12:49:58 +0000]
cfg80211: mark ieee80211_hdrlen const

This function analyses only its single, value-passed
argument, and has no side effects. Thus it can be
const, which makes mac80211 smaller, for example:

   text    data     bss     dec     hex filename
 362518   16720     884  380122   5ccda mac80211.ko (before)
 362358   16720     884  379962   5cc3a mac80211.ko (after)

a 160 byte saving in text size, and an optimisation
because the function won't be called as often.

Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>

9 years agobcm63xx_enet: use netdev stats
Eric Dumazet [Tue, 24 Aug 2010 19:24:07 +0000]
bcm63xx_enet: use netdev stats

Use integrated net_device stats instead of a private one

Get rid of bcm_enet_get_stats()

Signed-off-by: Eric Dumazet <eric.dumazet@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>

9 years agoethoc: get rid of ethoc_stats()
Eric Dumazet [Tue, 24 Aug 2010 19:23:01 +0000]
ethoc: get rid of ethoc_stats()

drivers can avoid implementing ndo_get_stats method if using netdevice
stats structure.

Signed-off-by: Eric Dumazet <eric.dumazet@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>

9 years agobe2net: get rid of be_get_stats()
Eric Dumazet [Tue, 24 Aug 2010 19:22:13 +0000]
be2net: get rid of be_get_stats()

drivers can avoid implementing ndo_get_stats method if using netdevice
stats structure.

Signed-off-by: Eric Dumazet <eric.dumazet@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>

9 years agonet: increase the size of priv_flags and add IFF_OVS_DATAPATH
Simon Horman [Mon, 23 Aug 2010 16:26:41 +0000]
net: increase the size of priv_flags and add IFF_OVS_DATAPATH

IFF_OVS_DATAPATH is a place-holder for the Open vSwitch datapath
which I am preparing to submit for merging.

As all 16 bits of priv_flags are already assigned flags, also increase
the size of priv_flags to 32 bits.

Unfortunately, by my calculations this increases the size of
struct net_device by 4 bytes on 32bit architectures and
8 bytes on 64 bit architectures. I couldn't see an obvious
way to avoid that.

Cc: Jesse Gross <jesse@nicira.com>
Signed-off-by: Simon Horman <horms@verge.net.au>
Signed-off-by: David S. Miller <davem@davemloft.net>