29 Nov, 2011

1 commit

  • There's little point in this config symbol, if
    tracing is disabled the overhead is negligible
    and if you think it's too bad you can always
    turn off tracing completely.

    Also remove the part where we don't have sparse
    check the tracing code -- it seems that it can
    now deal with it (or the code changed).

    Signed-off-by: Johannes Berg
    Signed-off-by: John W. Linville

    Johannes Berg
     

01 Oct, 2011

1 commit

  • Register and implement the TDLS cfg80211 callback functions.

    Internally prepare and send TDLS management frames. We incorporate
    local STA capabilities and supported rates with extra IEs given by
    usermode. The resulting packet is either encapsulated in a data frame,
    or assembled as an action frame. It is transmitted either directly or
    through the AP, as mandated by the TDLS specification.

    Declare support for the TDLS external setup wiphy capability. This
    tells usermode to handle link setup and discovery on its own, and use the
    kernel driver for sending TDLS mgmt packets.

    Signed-off-by: Arik Nemtsov
    Cc: Kalyan C Gaddam
    Signed-off-by: John W. Linville

    Arik Nemtsov
     

25 Aug, 2011

1 commit


05 Apr, 2011

1 commit

  • The only thing that using crypto_blkcipher with ecb does over just using
    arc4 directly is wrapping the encrypt/decrypt function into a for loop,
    looping over each individual character.
    To be able to do this, it pulls in around 40 kb worth of unnecessary
    kernel modules (at least on a MIPS embedded device).
    Using arc4 directly not only eliminates those dependencies, it also makes
    the code smaller.

    Signed-off-by: Felix Fietkau
    Signed-off-by: John W. Linville

    Felix Fietkau
     

05 Mar, 2011

1 commit


02 Mar, 2011

1 commit


23 Feb, 2011

1 commit


19 Feb, 2011

1 commit


21 Jan, 2011

1 commit

  • The meaning of CONFIG_EMBEDDED has long since been obsoleted; the option
    is used to configure any non-standard kernel with a much larger scope than
    only small devices.

    This patch renames the option to CONFIG_EXPERT in init/Kconfig and fixes
    references to the option throughout the kernel. A new CONFIG_EMBEDDED
    option is added that automatically selects CONFIG_EXPERT when enabled and
    can be used in the future to isolate options that should only be
    considered for embedded systems (RISC architectures, SLOB, etc).

    Calling the option "EXPERT" more accurately represents its intention: only
    expert users who understand the impact of the configuration changes they
    are making should enable it.

    Reviewed-by: Ingo Molnar
    Acked-by: David Woodhouse
    Signed-off-by: David Rientjes
    Cc: Greg KH
    Cc: "David S. Miller"
    Cc: Jens Axboe
    Cc: Arnd Bergmann
    Cc: Robin Holt
    Cc:
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    David Rientjes
     

27 Dec, 2010

1 commit


08 Dec, 2010

1 commit

  • Extend nl80211 to report an exponential weighted moving average (EWMA) of the
    signal value. Since the signal value usually fluctuates between different
    packets, an average can be more useful than the value of the last packet.

    This uses the recently added generic EWMA library function.

    --
    v2: fix ABI breakage and change factor to be a power of 2.

    Signed-off-by: Bruno Randolf
    Signed-off-by: John W. Linville

    Bruno Randolf
     

03 Dec, 2010

1 commit

  • It's not useful to build LED triggers when there's no LEDs that can be
    triggered by them. Therefore, fix up the dependencies so that this
    cannot happen, and fix a few users that select triggers to depend on
    LEDS_CLASS as well (there is also one user that also selects LEDS_CLASS,
    which is OK).

    Signed-off-by: Johannes Berg
    Reported-by: Randy Dunlap
    Acked-by: Randy Dunlap
    Tested-by: Ingo Molnar
    Cc: Arnd Hannemann
    Cc: Michal Hocko
    Cc: Richard Purdie
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Johannes Berg
     

25 Nov, 2010

1 commit


19 Nov, 2010

1 commit

  • Extend nl80211 to report an exponential weighted moving average (EWMA) of the
    signal value. Since the signal value usually fluctuates between different
    packets, an average can be more useful than the value of the last packet.

    This uses the recently added generic EWMA library function.

    Signed-off-by: Bruno Randolf
    Signed-off-by: John W. Linville

    Bruno Randolf
     

01 Jul, 2010

1 commit

  • Allow selection of minstrel_ht as default rate control algorithm. At
    the moment minstrel_ht can only be requested by the driver code but
    not selected as default in make menuconfig. Fix this by using
    minstrel_ht when minstrel was selected as default and minstrel_ht
    is available.

    This change won't affect legacy devices as minstrel_ht falls back to
    minstrel in that case.

    Signed-off-by: Helmut Schaa
    Signed-off-by: John W. Linville

    Helmut Schaa
     

03 Jun, 2010

1 commit


09 Apr, 2010

1 commit

  • Enhance tracing by adding tracing for a variety of
    callbacks that the drivers call, and also for
    internal calls (currently limited to queue status).
    This can aid debugging what is going on in mac80211
    in interaction with drivers, since we can now see
    what drivers call and not just what mac80211 calls
    in the driver.

    Signed-off-by: Johannes Berg
    Signed-off-by: John W. Linville

    Johannes Berg
     

11 Mar, 2010

1 commit

  • I discovered that if EMBEDDED=y, one can accidentally build a mac80211 stack
    and drivers w/ no rate control algorithm. For drivers like RTL8187 that don't
    supply their own RC algorithms, this will cause ieee80211_register_hw to
    fail (making the driver unusable).

    This will tell kconfig to provide a warning if no rate control algorithms
    have been selected. That'll at least warn the user; users that know that
    their drivers supply a rate control algorithm can safely ignore the
    warning, and those who don't know (or who expect to be using multiple
    drivers) can select a default RC algorithm.

    Signed-off-by: Andres Salomon
    Cc: stable@kernel.org
    Signed-off-by: John W. Linville

    Andres Salomon
     

22 Dec, 2009

1 commit

  • The payload alignment warning enabled by MAC80211_DEBUG_PACKET_ALIGNMENT is
    difficult. To fix it, a firmware change is needed but in most cases that's
    very difficult. So the benefit from the warning is low and most probably
    it just creates more confusion for people who just enable all warnings
    (like it did for me).

    Remove the unaligned IP payload warning and the kconfig option. But
    leave the unaligned packet warning, it will be enabled with
    MAC80211_VERBOSE_DEBUG.

    Signed-off-by: Kalle Valo
    Signed-off-by: Johannes Berg
    Signed-off-by: John W. Linville

    Kalle Valo
     

12 Nov, 2009

1 commit


03 Sep, 2009

1 commit


14 Aug, 2009

1 commit

  • This prevents calling rcu_synchronize from within the tx path by moving the
    table growth code to the mesh workqueue.

    Move mesh_table_free and mesh_table_grow from mesh.c to mesh_pathtbl.c and
    declare them static.

    Also, re-enable mesh in Kconfig and update the configuration description.

    Signed-off-by: Javier Cardona
    Tested-by: Andrey Yurovsky
    Signed-off-by: John W. Linville

    Javier Cardona
     

30 Jul, 2009

1 commit

  • Finally! This is what you've all been waiting for!

    This patch makes cfg80211 take care of wext emulation
    _completely_ by itself, drivers that don't need things
    cfg80211 doesn't do yet don't even need to be aware of
    wireless extensions.
    This means we can also clean up mac80211's and iwm's
    Kconfig and make it possible to build them w/o wext
    now!

    RIP wext.

    Signed-off-by: Johannes Berg
    Signed-off-by: John W. Linville

    Johannes Berg
     

25 Jul, 2009

1 commit

  • This makes mac80211 use the event tracing framework
    to log all operations as given to the driver. This
    will need to be extended with more information, but
    as a start it should be good.

    Signed-off-by: Johannes Berg
    Signed-off-by: John W. Linville

    Johannes Berg
     

24 Jul, 2009

1 commit


22 Jul, 2009

1 commit

  • My kvm instance was complaining a lot about sleeping
    in atomic contexts in the mesh code, and it turns out
    that both mesh_path_add() and mpp_path_add() need to
    be able to sleep (they even use synchronize_rcu()!).
    I put in a might_sleep() to annotate that, but I see
    no way, at least right now, of actually making sure
    those functions are only called from process context
    since they are both called during TX and RX and the
    mesh code itself even calls them with rcu_read_lock()
    "held".

    Therefore, let's disable it completely for now.

    It's possible that I'm only seeing this because the
    hwsim's beaconing is broken and thus the peers aren't
    discovered right away, but it is possible that this
    happens even if beaconing is working, for a peer that
    doesn't exist or so.

    It should be possible to solve this by deferring the
    freeing of the tables to call_rcu() instead of using
    synchronize_rcu(), and also using atomic allocations,
    but maybe it makes more sense to rework the code to
    not call these from atomic contexts and defer more of
    the work to the workqueue. Right now, I can't work on
    either of those solutions though.

    Signed-off-by: Johannes Berg
    Signed-off-by: John W. Linville

    Johannes Berg
     

11 Jul, 2009

1 commit

  • Just on/off and timeout, and with a hacky cfg80211 method
    until we figure out what we want, though this is probably
    sufficient as we want to use pm_qos for wifi everywhere.

    Signed-off-by: Johannes Berg
    Signed-off-by: John W. Linville

    Johannes Berg
     

04 Jun, 2009

1 commit


23 Apr, 2009

1 commit

  • Enable PS by default (depending on Kconfig) -- rely on drivers
    to control the level using pm_qos. Due to the previous patch
    we turn off PS when necessary due to latency requirements.

    This has a Kconfig symbol so people can, if they really want,
    configure the default in their kernels. We may want to keep it
    at "default y" only in wireless-testing for a while.

    Signed-off-by: Johannes Berg
    Signed-off-by: John W. Linville

    Johannes Berg
     

21 Apr, 2009

1 commit


30 Mar, 2009

1 commit


26 Nov, 2008

1 commit


07 Oct, 2008

1 commit


16 Sep, 2008

1 commit

  • You can just pull up a monitor interface to get much more
    detailed information, or, when debugging a driver, insert
    dump code into the driver (which usually you will have to
    do anyway to dump the driver-specific information). Hence
    this option is useless.

    Signed-off-by: Johannes Berg
    Signed-off-by: John W. Linville

    Johannes Berg
     

18 Jul, 2008

2 commits


09 Jul, 2008

2 commits


03 Jul, 2008

1 commit

  • This patch reworks the mac80211 debug settings making them more focused
    and adding help text for those that didn't have one. It also removes a
    number of printks that can be triggered remotely and add no value, e.g.
    "too short deauthentication frame received - ignoring".

    If somebody really needs to debug that they should just add a monitor
    interface and look at the frames in wireshark.

    Signed-off-by: Johannes Berg
    Signed-off-by: John W. Linville

    Johannes Berg
     

01 Jul, 2008

1 commit

  • The old infrastructure was:
    - the default algorithm is built into mac80211
    - other algorithms get into their own modules

    The implementation of this complicated scheme was horrible
    (just look at net/mac80211/Makefile), and anyone adding a new
    algorithm would most likely not get it right at his first attempt.

    This patch therefore builds all enabled algorithms into the mac80211
    module.

    The user interface for the rate control algorithms changes as follows:
    - first the user can choose which algorithms to enable (currently only
    MAC80211_RC_PID is available)
    - if more than one algorithm is enabled (currently not possible since
    only one algorithm is present) the user then chooses the default one

    Note:
    - MAC80211_RC_PID is always enables for CONFIG_EMBEDDED=n

    Technical changes:
    - all selected algorithms get into the mac80211 module
    - net/mac80211/Makefile can now become much less complicated
    - support for rc80211_pid_algo.c being modular is no longer required
    - this includes unexporting mesh_plink_broken

    Signed-off-by: Adrian Bunk
    Signed-off-by: John W. Linville

    Adrian Bunk