26 Mar, 2013
1 commit
-
Drivers that don't use chanctxes cannot perform VHT association because
they still use a "backward compatibility" pair of {ieee80211_channel,
nl80211_channel_type} in ieee80211_conf and ieee80211_local.Signed-off-by: Karl Beldan
[fix kernel-doc]
Signed-off-by: Johannes Berg
07 Dec, 2012
1 commit
-
CONFIG_HOTPLUG is going away as an option. As result the __dev*
markings will be going away.Remove use of __devinit, __devexit_p, __devinitdata, __devinitconst,
and __devexit.Signed-off-by: Bill Pemberton
Signed-off-by: Greg Kroah-Hartman
Signed-off-by: John W. Linville
31 Jul, 2012
1 commit
-
Remove the control.sta pointer from ieee80211_tx_info to free up
sufficient space in the TX skb control buffer for the upcoming
Transmit Power Control (TPC).
Instead, the pointer is now on the stack in a new control struct
that is passed as a function parameter to the drivers' tx method.Signed-off-by: Thomas Huehn
Signed-off-by: Alina Friedrichsen
Signed-off-by: Felix Fietkau
[reworded commit message]
Signed-off-by: Johannes Berg
17 Jul, 2012
1 commit
-
Convert the existing uses of random_ether_addr to
the new eth_random_addr.Signed-off-by: Joe Perches
Acked-by: Hin-Tak Leung
Acked-by: Gertjan van Wingerde
Signed-off-by: David S. Miller
07 Jun, 2012
1 commit
-
Adding casts of objects to the same type is unnecessary
and confusing for a human reader.For example, this cast:
int y;
int *p = (int *)&y;I used the coccinelle script below to find and remove these
unnecessary casts. I manually removed the conversions this
script produces of casts with __force, __iomem and __user.@@
type T;
T *p;
@@- (T *)p
+ pNeatened the mwifiex_deauthenticate_infra function which
was doing odd things with array pointers and not using
is_zero_ether_addr.Signed-off-by: Joe Perches
Signed-off-by: David S. Miller
17 Apr, 2012
1 commit
-
This patch converts the drivers in drivers/net/wireless/* to use
module_pci_driver() macro which makes the code smaller and a bit simpler.Signed-off-by: Axel Lin
Cc: "John W. Linville"
Cc: Jiri Slaby
Cc: Nick Kossifidis
Cc: "Luis R. Rodriguez"
Cc: Simon Kelley
Cc: Jouni Malinen
Cc: Lennert Buytenhek
Cc: Christian Lamparter
Cc: Ivo van Doorn
Cc: Larry Finger
Cc: linux-wireless@vger.kernel.org
Acked-by: Lennert Buytenhek
Signed-off-by: John W. Linville
01 Nov, 2011
1 commit
-
The device.h header was including module.h, making it present for
most of these drivers. But we want to clean that up. Call out the
include of module.h in the modular network drivers.Signed-off-by: Paul Gortmaker
28 Sep, 2011
1 commit
-
TSF can be kept per vif.
Add ieee80211_vif param to set/get/reset_tsf, and move
the debugfs entries to the per-vif directory.Update all the drivers that implement these callbacks.
Signed-off-by: Eliad Peller
Signed-off-by: John W. Linville
07 Jun, 2011
1 commit
-
* remove interrupt.g inclusion from netdevice.h -- not needed
* fixup fallout, add interrupt.h and hardirq.h back where needed.Signed-off-by: Alexey Dobriyan
Signed-off-by: David S. Miller
26 Feb, 2011
1 commit
-
The return value of the tx operation is commonly
misused by drivers, leading to errors. All drivers
will drop frames if they fail to TX the frame, and
they must also properly manage the queues (if they
didn't, mac80211 would already warn).Removing the ability for drivers to return a BUSY
value also allows significant cleanups of the TX
TX handling code in mac80211.Note that this also fixes a bug in ath9k_htc, the
old "return -1" there was wrong.Signed-off-by: Johannes Berg
Tested-by: Sedat Dilek [ath5k]
Acked-by: Gertjan van Wingerde [rt2x00]
Acked-by: Larry Finger [b43, rtl8187, rtlwifi]
Acked-by: Luciano Coelho [wl12xx]
Signed-off-by: John W. Linville
19 Aug, 2010
1 commit
-
Commit c96c31e499b70964cfc88744046c998bb710e4b8
"(drivers/net/wireless: Use wiphy_)"
inadvertently changed some upper case words to
lower case. Restore the original case.Signed-off-by: Joe Perches
Signed-off-by: John W. Linville
28 Jul, 2010
1 commit
-
Standardize the logging macros used.
Signed-off-by: Joe Perches
Signed-off-by: John W. Linville
13 Jul, 2010
1 commit
-
We must free priv->eeprom allocated in adm8211_read_eeprom().
Signed-off-by: Kulikov Vasiliy
Acked-by: Luis R. Rodriguez
Signed-off-by: John W. Linville
12 Apr, 2010
1 commit
-
Conflicts:
drivers/net/stmmac/stmmac_main.c
drivers/net/wireless/wl12xx/wl1271_cmd.c
drivers/net/wireless/wl12xx/wl1271_main.c
drivers/net/wireless/wl12xx/wl1271_spi.c
net/core/ethtool.c
net/mac80211/scan.c
04 Apr, 2010
1 commit
-
Converts the list and the core manipulating with it to be the same as uc_list.
+uses two functions for adding/removing mc address (normal and "global"
variant) instead of a function parameter.
+removes dev_mcast.c completely.
+exposes netdev_hw_addr_list_* macros along with __hw_addr_* functions for
manipulation with lists on a sandbox (used in bonding and 80211 drivers)Signed-off-by: Jiri Pirko
Signed-off-by: David S. Miller
30 Mar, 2010
1 commit
-
…it slab.h inclusion from percpu.h
percpu.h is included by sched.h and module.h and thus ends up being
included when building most .c files. percpu.h includes slab.h which
in turn includes gfp.h making everything defined by the two files
universally available and complicating inclusion dependencies.percpu.h -> slab.h dependency is about to be removed. Prepare for
this change by updating users of gfp and slab facilities include those
headers directly instead of assuming availability. As this conversion
needs to touch large number of source files, the following script is
used as the basis of conversion.http://userweb.kernel.org/~tj/misc/slabh-sweep.py
The script does the followings.
* Scan files for gfp and slab usages and update includes such that
only the necessary includes are there. ie. if only gfp is used,
gfp.h, if slab is used, slab.h.* When the script inserts a new include, it looks at the include
blocks and try to put the new include such that its order conforms
to its surrounding. It's put in the include block which contains
core kernel includes, in the same order that the rest are ordered -
alphabetical, Christmas tree, rev-Xmas-tree or at the end if there
doesn't seem to be any matching order.* If the script can't find a place to put a new include (mostly
because the file doesn't have fitting include block), it prints out
an error message indicating which .h file needs to be added to the
file.The conversion was done in the following steps.
1. The initial automatic conversion of all .c files updated slightly
over 4000 files, deleting around 700 includes and adding ~480 gfp.h
and ~3000 slab.h inclusions. The script emitted errors for ~400
files.2. Each error was manually checked. Some didn't need the inclusion,
some needed manual addition while adding it to implementation .h or
embedding .c file was more appropriate for others. This step added
inclusions to around 150 files.3. The script was run again and the output was compared to the edits
from #2 to make sure no file was left behind.4. Several build tests were done and a couple of problems were fixed.
e.g. lib/decompress_*.c used malloc/free() wrappers around slab
APIs requiring slab.h to be added manually.5. The script was run on all .h files but without automatically
editing them as sprinkling gfp.h and slab.h inclusions around .h
files could easily lead to inclusion dependency hell. Most gfp.h
inclusion directives were ignored as stuff from gfp.h was usually
wildly available and often used in preprocessor macros. Each
slab.h inclusion directive was examined and added manually as
necessary.6. percpu.h was updated not to include slab.h.
7. Build test were done on the following configurations and failures
were fixed. CONFIG_GCOV_KERNEL was turned off for all tests (as my
distributed build env didn't work with gcov compiles) and a few
more options had to be turned off depending on archs to make things
build (like ipr on powerpc/64 which failed due to missing writeq).* x86 and x86_64 UP and SMP allmodconfig and a custom test config.
* powerpc and powerpc64 SMP allmodconfig
* sparc and sparc64 SMP allmodconfig
* ia64 SMP allmodconfig
* s390 SMP allmodconfig
* alpha SMP allmodconfig
* um on x86_64 SMP allmodconfig8. percpu.h modifications were reverted so that it could be applied as
a separate patch and serve as bisection point.Given the fact that I had only a couple of failures from tests on step
6, I'm fairly confident about the coverage of this conversion patch.
If there is a breakage, it's likely to be something in one of the arch
headers which should be easily discoverable easily on most builds of
the specific arch.Signed-off-by: Tejun Heo <tj@kernel.org>
Guess-its-ok-by: Christoph Lameter <cl@linux-foundation.org>
Cc: Ingo Molnar <mingo@redhat.com>
Cc: Lee Schermerhorn <Lee.Schermerhorn@hp.com>
15 Feb, 2010
1 commit
09 Feb, 2010
1 commit
-
get_tx_stats() will be removed from mac80211.
Compile-tested only.
Cc: Michael Wu
Signed-off-by: Kalle Valo
Signed-off-by: John W. Linville
08 Jan, 2010
1 commit
-
Use DEFINE_PCI_DEVICE_TABLE() so we get place PCI ids table into correct section
in every case.Signed-off-by: Alexey Dobriyan
Signed-off-by: David S. Miller
29 Dec, 2009
1 commit
-
All its members (vif, mac_addr, type) are now available
in the vif struct directly, so we can pass that instead
of the conf struct. I generated this patch (except the
mac80211 and header file changes) with this semantic
patch:@@
identifier conf, fn, hw;
type tp;
@@
tp fn(struct ieee80211_hw *hw,
-struct ieee80211_if_init_conf *conf)
+struct ieee80211_vif *vif)
{
type
+vif->type
|
-conf->mac_addr
+vif->addr
|
-conf->vif
+vif
)
...>
}Signed-off-by: Johannes Berg
Signed-off-by: John W. Linville
19 Nov, 2009
1 commit
-
In this file, function names are otherwise used as pointers without &.
A simplified version of the semantic patch that makes this change is as
follows: (http://coccinelle.lip6.fr/)//
@r@
identifier f;
@@f(...) { ... }
@@
identifier r.f;
@@- &f
+ f
//Signed-off-by: Julia Lawall
Signed-off-by: David S. Miller
20 Aug, 2009
1 commit
-
Over time, a whole bunch of drivers have come up
with their own scheme to delay the configure_filter
operation to a workqueue. To be able to simplify
things, allow configure_filter to sleep, and add
a new prepare_multicast callback that drivers that
need the multicast address list implement. This new
callback must be atomic, but most drivers either
don't care or just calculate a hash which can be
done atomically and then uploaded to the hardware
non-atomically.A cursory look suggests that at76c50x-usb, ar9170,
mwl8k (which is actually very broken now), rt2x00,
wl1251, wl1271 and zd1211 should make use of this
new capability.Signed-off-by: Johannes Berg
Signed-off-by: John W. Linville
25 Jul, 2009
1 commit
-
mac80211 drivers do not need to stop the software queues
or call their own stop() callback upon suspend as we do it
for drivers. Equally drivers don't have to call their own
start() or start the queues as mac80211 will do it for us.Signed-off-by: Luis R. Rodriguez
Signed-off-by: John W. Linville
11 Jul, 2009
1 commit
-
Within mac80211, we often need to copy the rx status into
skb->cb. This is wasteful, as drivers could be building it
in there to start with. This patch changes the API so that
drivers are expected to pass the RX status in skb->cb, now
accessible as IEEE80211_SKB_RXCB(skb). It also updates all
drivers to pass the rx status in there, but only by making
them memcpy() it into place before the call to the receive
function (ieee80211_rx(_irqsafe)). Each driver can now be
optimised on its own schedule.Signed-off-by: Johannes Berg
Signed-off-by: John W. Linville
07 May, 2009
1 commit
-
The config_interface method is a little strange, it contains the
BSSID and beacon updates, while bss_info_changed contains most
other BSS information for each interface. This patch removes
config_interface and rolls all the information it previously
passed to drivers into bss_info_changed.Signed-off-by: Johannes Berg
Signed-off-by: John W. Linville
07 Apr, 2009
1 commit
-
Replace all DMA_32BIT_MASK macro with DMA_BIT_MASK(32)
Signed-off-by: Yang Hongyang
Signed-off-by: Andrew Morton
Signed-off-by: Linus Torvalds
11 Nov, 2008
1 commit
-
Since adm8211 currently doesn't implement IBSS mode anyway,
it can't be using the SSID. And if/when it does implement
IBSS mode, we'll have to see how to make it beacon anyway.Signed-off-by: Johannes Berg
Signed-off-by: John W. Linville
01 Nov, 2008
2 commits
-
So after the previous changes we were still unhappy with how
convoluted the API is and decided to make things simpler for
everybody. This completely changes the rate control API, now
taking into account 802.11n with MCS rates and more control,
most drivers don't support that though.Signed-off-by: Felix Fietkau
Signed-off-by: Johannes Berg
Signed-off-by: John W. Linville -
This makes mac80211 notify the driver which configuration
actually changed, e.g. channel etc.No driver changes, this is just plumbing, driver authors are
expected to act on this if they want to.Also remove the HW CONFIG debug printk, it's incorrect, often
we configure something else.Signed-off-by: Johannes Berg
Signed-off-by: John W. Linville
28 Oct, 2008
1 commit
-
This converts pretty much everything to print_mac. There were
a few things that had conflicts which I have just dropped for
now, no harm done.I've built an allyesconfig with this and looked at the files
that weren't built very carefully, but it's a huge patch.Signed-off-by: Johannes Berg
Signed-off-by: David S. Miller
16 Sep, 2008
1 commit
-
There's really no reason for mac80211 to be using its
own interface type defines. Use the nl80211 types and
simplify the configuration code a bit: there's no need
to translate them any more now.Signed-off-by: Johannes Berg
Signed-off-by: John W. Linville
06 Sep, 2008
1 commit
-
It is obviously good for userspace to know up front which
interface modes a given piece of hardware might support (even
if adding such an interface might fail later because of
concurrency issues), so let's make cfg80211 aware of that.
For good measure, disallow adding interfaces in all other
modes so drivers don't forget to announce support for one mode
when they add it.Signed-off-by: Johannes Berg
Signed-off-by: Stephen Blackheath
Signed-off-by: Ivo van Doorn
Signed-off-by: Luis R. Rodriguez
Signed-off-by: John W. Linville
27 Jun, 2008
1 commit
-
Removes now unused fc local var and uses the new ieee80211_hdrlen
which directly uses the le16 frame control value.Signed-off-by: Harvey Harrison
Signed-off-by: John W. Linville
22 May, 2008
3 commits
-
This patch converts mac80211 and all drivers to have transmit
information and status in skb->cb rather than allocating extra
memory for it and copying all the data around. To make it fit,
a union is used where only data that is necessary for all steps
is kept outside of the union.A number of fixes were done by Ivo, as well as the rt2x00 part
of this patch.Signed-off-by: Ivo van Doorn
Signed-off-by: Johannes Berg
Acked-by: David S. Miller
Signed-off-by: John W. Linville -
This patch modifies struct ieee80211_tx_control to give band
info and the rate index (instead of rate pointers) to drivers.
This mostly serves to reduce the TX control structure size to
make it fit into skb->cb so that the fragmentation code can
put it there and we can think about passing it to drivers that
way in the future.The rt2x00 driver update was done by Ivo, thanks.
Signed-off-by: Ivo van Doorn
Signed-off-by: Johannes Berg
Signed-off-by: John W. Linville -
Having drivers start queues is just confusing, their ->start()
callback can block and do whatever is necessary, so let mac80211
start queues and have drivers wake queues when necessary (to get
packets flowing again right away.)Signed-off-by: Johannes Berg
Acked-by: David S. Miller
Signed-off-by: John W. Linville
15 May, 2008
1 commit
-
trying to clean up the signal/noise code. the previous code in mac80211 had
confusing names for the related variables, did not have much definition of
what units of signal and noise were provided and used implicit mechanisms from
the wireless extensions.this patch introduces hardware capability flags to let the hardware specify
clearly if it can provide signal and noise level values and which units it can
provide. this also anticipates possible new units like RCPI in the future.for signal:
IEEE80211_HW_SIGNAL_UNSPEC - unspecified, unknown, hw specific
IEEE80211_HW_SIGNAL_DB - dB difference to unspecified reference point
IEEE80211_HW_SIGNAL_DBM - dBm, difference to 1mWfor noise we currently only have dBm:
IEEE80211_HW_NOISE_DBM - dBm, difference to 1mW
if IEEE80211_HW_SIGNAL_UNSPEC or IEEE80211_HW_SIGNAL_DB is used the driver has
to provide the maximum value (max_signal) it reports in order for applications
to make sense of the signal values.i tried my best to find out for each driver what it can provide and update it
but i'm not sure (?) for some of them and used the more conservative guess in
doubt. this can be fixed easily after this patch has been merged by changing
the hardware flags of the driver.DRIVER SIGNAL MAX NOISE QUAL
-----------------------------------------------------------------
adm8211 unspec(?) 100 n/a missing
at76_usb unspec(?) (?) unused missing
ath5k dBm dBm percent rssi
b43legacy dBm dBm percent jssi(?)
b43 dBm dBm percent jssi(?)
iwl-3945 dBm dBm percent snr+more
iwl-4965 dBm dBm percent snr+more
p54 unspec 127 n/a missing
rt2x00 dBm n/a percent rssi+tx/rx frame success
rt2400 dBm n/a
rt2500pci dBm n/a
rt2500usb dBm n/a
rt61pci dBm n/a
rt73usb dBm n/a
rtl8180 unspec(?) 65 n/a (?)
rtl8187 unspec(?) 65 (?) noise(?)
zd1211 dB(?) 100 n/a percentdrivers/net/wireless/ath5k/base.c: Changes-licensed-under: 3-Clause-BSD
Signed-off-by: Bruno Randolf
Signed-off-by: John W. Linville
08 May, 2008
1 commit
-
The callback takes a ieee80211_tx_queue_stats with a contained
array of ieee80211_tx_queue_stats_data, remove the former, rename
the latter to ieee80211_tx_queue_stats and make tx_stats() take
the array directly.Signed-off-by: Johannes Berg
Signed-off-by: John W. Linville
09 Apr, 2008
1 commit
-
Remove some commented-out code from adm8211.
Signed-off-by: Pavel Machek
Signed-off-by: John W. Linville
01 Mar, 2008
1 commit
-
Insert a missing band assignment.
Signed-off-by: Johannes Berg
Signed-off-by: John W. Linville