23 May, 2012

1 commit


17 May, 2012

6 commits


16 May, 2012

1 commit


15 May, 2012

1 commit


10 May, 2012

2 commits

  • spatch/coccinelle isn't perfect. It doesn't understand
    __aligned(x) and doesn't convert functions it can't parse.

    Convert the remaining compare_ether_addr uses.

    Signed-off-by: Joe Perches
    Signed-off-by: David S. Miller

    Joe Perches
     
  • Use the new bool function ether_addr_equal to add
    some clarity and reduce the likelihood for misuse
    of compare_ether_addr for sorting.

    I removed a conversion from scan.c/cmp_bss_core
    that appears to be a sorting function.

    Done via cocci script:

    $ cat compare_ether_addr.cocci
    @@
    expression a,b;
    @@
    - !compare_ether_addr(a, b)
    + ether_addr_equal(a, b)

    @@
    expression a,b;
    @@
    - compare_ether_addr(a, b)
    + !ether_addr_equal(a, b)

    @@
    expression a,b;
    @@
    - !ether_addr_equal(a, b) == 0
    + ether_addr_equal(a, b)

    @@
    expression a,b;
    @@
    - !ether_addr_equal(a, b) != 0
    + !ether_addr_equal(a, b)

    @@
    expression a,b;
    @@
    - ether_addr_equal(a, b) == 0
    + !ether_addr_equal(a, b)

    @@
    expression a,b;
    @@
    - ether_addr_equal(a, b) != 0
    + ether_addr_equal(a, b)

    @@
    expression a,b;
    @@
    - !!ether_addr_equal(a, b)
    + ether_addr_equal(a, b)

    Signed-off-by: Joe Perches
    Signed-off-by: David S. Miller

    Joe Perches
     

09 May, 2012

3 commits

  • This patch introduces a new mesh configuration parameter "ht_opmode" and will
    allow user to check the current HT protection mode selected. Users could
    configure the protection mode by the command "iw mesh_iface set mesh_param
    mesh_ht_protection_mode=2". The default protection mode of mesh is set to
    non-HT mixed mode.

    Signed-off-by: Ashok Nagarajan
    Reviewed-by: Thomas Pedersen
    Signed-off-by: John W. Linville

    Ashok Nagarajan
     
  • Since the BSS table is organized in a RB tree, the BSSs need to be
    comparable. This means that we must define a < and > operator to
    the BSS object.
    compare_ethr_addr isn't enough since it returns only a binary value.

    Since Felix's

    cfg80211: use compare_ether_addr on MAC addresses instead of memcmp

    Because of the constant size and guaranteed 16 bit alignment, the inline
    compare_ether_addr function is much cheaper than calling memcmp.

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

    The BSS table is corrupted: rb_find_bss can't find the bss.
    As a result BSSes are duplicated in the BSS table, and we get stuck
    while probing an AP before associating (in STA mode).

    Change-Id: I85928756f4328028230832c1565ece7f412f3843
    CC: Felix Fietkau
    Signed-off-by: Emmanuel Grumbach
    Acked-by: Felix Fietkau
    Signed-off-by: John W. Linville

    Emmanuel Grumbach
     
  • Signed-off-by: Ben Greear
    Signed-off-by: John W. Linville

    Ben Greear
     

27 Apr, 2012

1 commit


24 Apr, 2012

2 commits

  • Fix merge between commit 3adadc08cc1e ("net ax25: Reorder ax25_exit to
    remove races") and commit 0ca7a4c87d27 ("net ax25: Simplify and
    cleanup the ax25 sysctl handling")

    The former moved around the sysctl register/unregister calls, the
    later simply removed them.

    With help from Stephen Rothwell.

    Signed-off-by: David S. Miller

    David S. Miller
     
  • Legacy rates are not validated while configuring
    tx rateset using iw. So below cmd is accepted by nl80211.
    sudo iw wlan2 set bitrates legacy-2.4 1 2 3

    Validate legacy rates and return
    error if any rate in the rateset is not valid.

    Signed-off-by: Bala Shanmugam
    Signed-off-by: John W. Linville

    Bala Shanmugam
     

19 Apr, 2012

1 commit


17 Apr, 2012

2 commits

  • The background scan completion takes more time when the station is
    having heavy uplink traffic. The scan state machine decides to fall
    back to home channel on every off-channel visit when there are pending
    frames in tx queue. bgscan completion took ~30sec on dual band US
    regulatory card.

    scan period = (20 active channels * probe timeout) +
    (12 passive channels * passive probe timeout) +
    (32 * timeout on home channel) +
    (32 * flush timeout)

    Signed-off-by: Rajkumar Manoharan
    Signed-off-by: John W. Linville

    Rajkumar Manoharan
     
  • My grand plan to allow drivers to gradually move over
    to advertising virtual interface combinations and only
    enforce with drivers that do want it enforced doesn't
    seem to be working out, only Christian ever added the
    advertising (to carl9170), nobody else did.

    Begin enforcing combinations in cfg80211 so that users
    can rely on the information reported about a device.

    Cc: "Luis R. Rodriguez"
    Cc: Jouni Malinen
    Cc: Vasanthakumar Thiagarajan
    Cc: Senthil Balasubramanian
    Cc: Kalle Valo
    Cc: Jiri Slaby
    Cc: Nick Kossifidis
    Cc: Bob Copeland
    Cc: Bing Zhao
    Cc: Lennert Buytenhek
    Cc: Ivo van Doorn
    Cc: Gertjan van Wingerde
    Cc: Helmut Schaa
    Cc: Luciano Coelho
    Signed-off-by: Johannes Berg
    Signed-off-by: John W. Linville

    Johannes Berg
     

16 Apr, 2012

1 commit


14 Apr, 2012

2 commits


13 Apr, 2012

2 commits


12 Apr, 2012

2 commits

  • The firmware may decide to switch channels while already beaconing, e.g.
    in response to a cfg80211 connect request on a different vif. Add this
    event to notify userspace when an AP or GO interface has successfully
    migrated to a new channel, so it can update its configuration
    accordingly.

    Signed-off-by: Thomas Pedersen
    Signed-off-by: John W. Linville

    Thomas Pedersen
     
  • In WoWLAN, we only get the triggers when we actually get
    to suspend. As a consequence, drivers currently don't
    know that the device should enable wakeup. However, the
    device_set_wakeup_enable() API is intended to be called
    when the wakeup is enabled, not later when needed.

    Add a new set_wakeup() call to cfg80211 and mac80211 to
    allow drivers to properly call device_set_wakeup_enable.

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

    Johannes Berg
     

11 Apr, 2012

3 commits


10 Apr, 2012

4 commits

  • It has happened twice now where elaborate troubleshooting has
    undergone on systems where CONFIG_CFG80211_INTERNAL_REGDB [0]
    has been set but yet net/wireless/db.txt was not updated.

    Despite the documentation on this it seems system integrators could
    use some more help with this, so throw out a kernel warning at boot time
    when their database is empty.

    This does mean that the error-prone system integrator won't likely
    realize the issue until they boot the machine but -- it does not seem
    to make sense to enable a build bug breaking random build testing.

    [0] http://wireless.kernel.org/en/developers/Regulatory/CRDA#CONFIG_CFG80211_INTERNAL_REGDB

    Cc: Stephen Rothwell
    Cc: Youngsin Lee
    Cc: Raja Mani
    Cc: Senthil Kumar Balasubramanian
    Cc: Vipin Mehta
    Cc: yahuan@qca.qualcomm.com
    Cc: jjan@qca.qualcomm.com
    Cc: vthiagar@qca.qualcomm.com
    Cc: henrykim@qualcomm.com
    Cc: jouni@qca.qualcomm.com
    Cc: athiruve@qca.qualcomm.com
    Cc: cjkim@qualcomm.com
    Cc: philipk@qca.qualcomm.com
    Cc: sunnykim@qualcomm.com
    Cc: sskwak@qualcomm.com
    Cc: kkim@qualcomm.com
    Cc: mattbyun@qualcomm.com
    Cc: ryanlee@qualcomm.com
    Cc: simbap@qualcomm.com
    Cc: krislee@qualcomm.com
    Cc: conner@qualcomm.com
    Cc: hojinkim@qualcomm.com
    Cc: honglee@qualcomm.com
    Cc: johnwkim@qualcomm.com
    Cc: jinyong@qca.qualcomm.com
    Cc: stable@vger.kernel.org
    Signed-off-by: Luis R. Rodriguez
    Signed-off-by: John W. Linville

    Luis R. Rodriguez
     
  • Because of the constant size and guaranteed 16 bit alignment, the inline
    compare_ether_addr function is much cheaper than calling memcmp.

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

    Felix Fietkau
     
  • Free extra as done in the error-handling code just above.

    Signed-off-by: Julia Lawall
    Signed-off-by: John W. Linville

    Julia Lawall
     
  • The nl80211 handling code should ensure as much as
    it can that the interface is in a valid state, it
    can certainly ensure the interface is running.

    Not doing so can cause calls through mac80211 into
    the driver that result in warnings and unspecified
    behaviour in the driver.

    Cc: stable@vger.kernel.org
    Reported-by: Ben Greear
    Signed-off-by: Johannes Berg
    Signed-off-by: John W. Linville

    Johannes Berg
     

06 Apr, 2012

2 commits

  • Merge batch of fixes from Andrew Morton:
    "The simple_open() cleanup was held back while I wanted for laggards to
    merge things.

    I still need to send a few checkpoint/restore patches. I've been
    wobbly about merging them because I'm wobbly about the overall
    prospects for success of the project. But after speaking with Pavel
    at the LSF conference, it sounds like they're further toward
    completion than I feared - apparently davem is at the "has stopped
    complaining" stage regarding the net changes. So I need to go back
    and re-review those patchs and their (lengthy) discussion."

    * emailed from Andrew Morton : (16 patches)
    memcg swap: use mem_cgroup_uncharge_swap fix
    backlight: add driver for DA9052/53 PMIC v1
    C6X: use set_current_blocked() and block_sigmask()
    MAINTAINERS: add entry for sparse checker
    MAINTAINERS: fix REMOTEPROC F: typo
    alpha: use set_current_blocked() and block_sigmask()
    simple_open: automatically convert to simple_open()
    scripts/coccinelle/api/simple_open.cocci: semantic patch for simple_open()
    libfs: add simple_open()
    hugetlbfs: remove unregister_filesystem() when initializing module
    drivers/rtc/rtc-88pm860x.c: fix rtc irq enable callback
    fs/xattr.c:setxattr(): improve handling of allocation failures
    fs/xattr.c:listxattr(): fall back to vmalloc() if kmalloc() failed
    fs/xattr.c: suppress page allocation failure warnings from sys_listxattr()
    sysrq: use SEND_SIG_FORCED instead of force_sig()
    proc: fix mount -t proc -o AAA

    Linus Torvalds
     
  • Many users of debugfs copy the implementation of default_open() when
    they want to support a custom read/write function op. This leads to a
    proliferation of the default_open() implementation across the entire
    tree.

    Now that the common implementation has been consolidated into libfs we
    can replace all the users of this function with simple_open().

    This replacement was done with the following semantic patch:

    @ open @
    identifier open_f != simple_open;
    identifier i, f;
    @@
    -int open_f(struct inode *i, struct file *f)
    -{
    (
    -if (i->i_private)
    -f->private_data = i->i_private;
    |
    -f->private_data = i->i_private;
    )
    -return 0;
    -}

    @ has_open depends on open @
    identifier fops;
    identifier open.open_f;
    @@
    struct file_operations fops = {
    ...
    -.open = open_f,
    +.open = simple_open,
    ...
    };

    [akpm@linux-foundation.org: checkpatch fixes]
    Signed-off-by: Stephen Boyd
    Cc: Greg Kroah-Hartman
    Cc: Al Viro
    Cc: Julia Lawall
    Acked-by: Ingo Molnar
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Stephen Boyd
     

02 Apr, 2012

1 commit


27 Mar, 2012

1 commit

  • The station_info struct had demanded dBm signal values, but the
    cfg80211 wireless extensions implementation was also accepting
    "unspecified" (i.e. RSSI) unit values while the nl80211 code was
    completely unaware of them. Resolve this by formally allowing the
    "unspecified" units while making nl80211 ignore them.

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

    John W. Linville
     

14 Mar, 2012

1 commit


13 Mar, 2012

1 commit