1. 01 12月, 2010 1 次提交
  2. 30 11月, 2010 1 次提交
  3. 25 11月, 2010 4 次提交
  4. 23 11月, 2010 2 次提交
    • L
      cfg80211: Fix regulatory bug with multiple cards and delays · b2e253cf
      Luis R. Rodriguez 提交于
      When two cards are connected with the same regulatory domain
      if CRDA had a delayed response then cfg80211's own set regulatory
      domain would still be the world regulatory domain. There was a bug
      on cfg80211's logic such that it assumed that once you pegged a
      request as the last request it was already the currently set
      regulatory domain. This would mean we would race setting a stale
      regulatory domain to secondary cards which had the same regulatory
      domain since the alpha2 would match.
      
      We fix this by processing each regulatory request atomically,
      and only move on to the next one once we get it fully processed.
      In the case CRDA is not present we will simply world roam.
      
      This issue is only present when you have a slow system and the
      CRDA processing is delayed. Because of this it is not a known
      regression.
      
      Without this fix when a delay is present with CRDA the second card
      would end up with an intersected regulatory domain and not allow it
      to use the channels it really is designed for. When two cards with
      two different regulatory domains were inserted you'd end up
      rejecting the second card's regulatory domain request.
      This fails with mac80211_hswim's regtest=2 (two requests, same alpha2)
      and regtest=3 (two requests, different alpha2) module parameter
      options.
      
      This was reproduced and tested against mac80211_hwsim using this
      CRDA delayer:
      
             #!/bin/bash
             echo $COUNTRY >> /tmp/log
             sleep 2
             /sbin/crda.orig
      
      And these regulatory tests:
      
             modprobe mac80211_hwsim regtest=2
             modprobe mac80211_hwsim regtest=3
      Reported-by: NMark Mentovai <mark@moxienet.com>
      Signed-off-by: NLuis R. Rodriguez <lrodriguez@atheros.com>
      Tested-by: NMark Mentovai <mark@moxienet.com>
      Tested-by: NBruno Randolf <br1@einfach.org>
      Signed-off-by: NJohn W. Linville <linville@tuxdriver.com>
      b2e253cf
    • D
      ssb: b43-pci-bridge: Add new vendor for BCM4318 · 1d8638d4
      Daniel Klaffenbach 提交于
      Add new vendor for Broadcom 4318.
      Signed-off-by: NDaniel Klaffenbach <danielklaffenbach@gmail.com>
      Signed-off-by: NLarry Finger <Larry.Finger@lwfinger.net>
      Cc: Stable <stable@kernel.org>
      Signed-off-by: NJohn W. Linville <linville@tuxdriver.com>
      1d8638d4
  5. 19 11月, 2010 2 次提交
  6. 18 11月, 2010 1 次提交
  7. 17 11月, 2010 6 次提交
    • F
    • F
    • J
      mac80211: Add function to get probe request template for current AP · a619a4c0
      Juuso Oikarinen 提交于
      Chipsets with hardware based connection monitoring need to autonomically
      send directed probe-request frames to the AP (in the event of beacon loss,
      for example.)
      
      For the hardware to be able to do this, it requires a template for the frame
      to transmit to the AP, filled in with the BSSID and SSID of the AP, but also
      the supported rate IE's.
      
      This patch adds a function to mac80211, which allows the hardware driver to
      fetch this template after association, so it can be configured to the hardware.
      Signed-off-by: NJuuso Oikarinen <juuso.oikarinen@nokia.com>
      Acked-by: NJohannes Berg <johannes@sipsolutions.net>
      Signed-off-by: NJohn W. Linville <linville@tuxdriver.com>
      a619a4c0
    • B
      mac80211: Add antenna configuration · 15d96753
      Bruno Randolf 提交于
      Allow antenna configuration by calling driver's function for it.
      
      We disallow antenna configuration if the wiphy is already running, mainly to
      make life easier for 802.11n drivers which need to recalculate HT capabilites.
      Signed-off-by: NBruno Randolf <br1@einfach.org>
      Signed-off-by: NJohn W. Linville <linville@tuxdriver.com>
      15d96753
    • B
      cfg80211: Add nl80211 antenna configuration · afe0cbf8
      Bruno Randolf 提交于
      Allow setting of TX and RX antennas configuration via nl80211.
      
      The antenna configuration is defined as a bitmap of allowed antennas to use.
      This API can be used to mask out antennas which are not attached or should not
      be used for other reasons like regulatory concerns or special setups.
      
      Separate bitmaps are used for RX and TX to allow configuring different antennas
      for receiving and transmitting. Each bitmap is 32 bit long, each bit
      representing one antenna, starting with antenna 1 at the first bit. If an
      antenna bit is set, this means the driver is allowed to use this antenna for RX
      or TX respectively; if the bit is not set the hardware is not allowed to use
      this antenna.
      
      Using bitmaps has the benefit of allowing for a flexible configuration
      interface which can support many different configurations and which can be used
      for 802.11n as well as non-802.11n devices. Instead of relying on some hardware
      specific assumptions, drivers can use this information to know which antennas
      are actually attached to the system and derive their capabilities based on
      that.
      
      802.11n devices should enable or disable chains, based on which antennas are
      present (If all antennas belonging to a particular chain are disabled, the
      entire chain should be disabled). HT capabilities (like STBC, TX Beamforming,
      Antenna selection) should be calculated based on the available chains after
      applying the antenna masks. Should a 802.11n device have diversity antennas
      attached to one of their chains, diversity can be enabled or disabled based on
      the antenna information.
      
      Non-802.11n drivers can use the antenna masks to select RX and TX antennas and
      to enable or disable antenna diversity.
      
      While covering chainmasks for 802.11n and the standard "legacy" modes "fixed
      antenna 1", "fixed antenna 2" and "diversity" this API also allows more rare,
      but useful configurations as follows:
      
      1) Send on antenna 1, receive on antenna 2 (or vice versa). This can be used to
      have a low gain antenna for TX in order to keep within the regulatory
      constraints and a high gain antenna for RX in order to receive weaker signals
      ("speak softly, but listen harder"). This can be useful for building long-shot
      outdoor links. Another usage of this setup is having a low-noise pre-amplifier
      on antenna 1 and a power amplifier on the other antenna. This way transmit
      noise is mostly kept out of the low noise receive channel.
      (This would be bitmaps: tx 1 rx 2).
      
      2) Another similar setup is: Use RX diversity on both antennas, but always send
      on antenna 1. Again that would allow us to benefit from a higher gain RX
      antenna, while staying within the legal limits.
      (This would be: tx 0 rx 3).
      
      3) And finally there can be special experimental setups in research and
      development even with pre 802.11n hardware where more than 2 antennas are
      available. It's good to keep the API simple, yet flexible.
      Signed-off-by: NBruno Randolf <br1@einfach.org>
      
      --
      v7:	Made bitmasks 32 bit wide and rebased to latest wireless-testing.
      Signed-off-by: NJohn W. Linville <linville@tuxdriver.com>
      afe0cbf8
    • A
      mac80211: support hardware TX fragmentation offload · f23a4780
      Arik Nemtsov 提交于
      The lower driver is notified when the fragmentation threshold changes
      and upon a reconfig of the interface.
      
      If the driver supports hardware TX fragmentation, don't fragment
      packets in the stack.
      Signed-off-by: NArik Nemtsov <arik@wizery.com>
      Signed-off-by: NJohn W. Linville <linville@tuxdriver.com>
      f23a4780
  8. 16 11月, 2010 7 次提交
    • J
      cfg80211: fix WIPHY_FLAG_IBSS_RSN bit · 309075cf
      Jussi Kivilinna 提交于
      WIPHY_FLAG_IBSS_RSN is BIT(7) as is WIPHY_FLAG_CONTROL_PORT_PROTOCOL. Change
      to BIT(8).
      Signed-off-by: NJussi Kivilinna <jussi.kivilinna@mbnet.fi>
      Acked-by: NJohannes Berg <johannes@sipsolutions.net>
      Signed-off-by: NJohn W. Linville <linville@tuxdriver.com>
      309075cf
    • A
      b43legacy: Fix compile on ARM architecture · 62370e2b
      Arnd Hannemann 提交于
      When b43legacy is compiled on the arm platform, the following errors are seen:
      
        CC [M]  drivers/net/wireless/b43legacy/xmit.o
      In file included from include/net/dst.h:11,
      from drivers/net/wireless/b43legacy/xmit.c:31:
      include/net/dst_ops.h:28: error: expected ':', ',', ';', '}' or '__attribute__'
         before '____cacheline_aligned_in_smp'
      include/net/dst_ops.h: In function 'dst_entries_get_fast':
      include/net/dst_ops.h:33: error: 'struct dst_ops' has no member named
         'pcpuc_entries'
      include/net/dst_ops.h: In function 'dst_entries_get_slow':
      include/net/dst_ops.h:41: error: 'struct dst_ops' has no member named
         'pcpuc_entries'
      include/net/dst_ops.h: In function 'dst_entries_add':
      include/net/dst_ops.h:49: error: 'struct dst_ops' has no member named
         'pcpuc_entries'
      include/net/dst_ops.h: In function 'dst_entries_init':
      include/net/dst_ops.h:55: error: 'struct dst_ops' has no member named
         'pcpuc_entries'
      include/net/dst_ops.h: In function 'dst_entries_destroy':
      include/net/dst_ops.h:60: error: 'struct dst_ops' has no member named
         'pcpuc_entries'
      make[4]: *** [drivers/net/wireless/b43legacy/xmit.o] Error 1
      make[3]: *** [drivers/net/wireless/b43legacy] Error 2
      make[2]: *** [drivers/net/wireless] Error 2
      make[1]: *** [drivers/net] Error 2
      make: *** [drivers] Error 2
      
      The cause is a missing include of <linux/cache.h>, which is present for
      i386 and x86_64 architectures, but not for arm.
      Signed-off-by: NArnd Hannemann <arnd@arndnet.de>
      Signed-off-by: NLarry Finger <Larry.Finger@lwfinger.net>
      Cc: Stable <stable@kernel.org>
      Signed-off-by: NJohn W. Linville <linville@tuxdriver.com>
      62370e2b
    • A
      bitops: Provide generic sign_extend32 function · 7919a57b
      Andreas Herrmann 提交于
      This patch moves code out from wireless drivers where two different
      functions are defined in three code locations for the same purpose and
      provides a common function to sign extend a 32-bit value.
      Signed-off-by: NAndreas Herrmann <andreas.herrmann3@amd.com>
      Signed-off-by: NJohn W. Linville <linville@tuxdriver.com>
      7919a57b
    • G
      wl1271: ref_clock cosmetic changes · c8aea565
      Gery Kahn 提交于
      Cosmetic cleanup for ref_clock code while configured by board.
      Signed-off-by: NGery Kahn <geryk@ti.com>
      Signed-off-by: NLuciano Coelho <luciano.coelho@nokia.com>
      c8aea565
    • L
      cfg80211: fix disabling channels based on hints · ca4ffe8f
      Luis R. Rodriguez 提交于
      After a module loads you will have loaded the world roaming regulatory
      domain or a custom regulatory domain. Further regulatory hints are
      welcomed and should be respected unless the regulatory hint is coming
      from a country IE as the IEEE spec allows for a country IE to be a subset
      of what is allowed by the local regulatory agencies.
      
      So disable all channels that do not fit a regulatory domain sent
      from a unless the hint is from a country IE and the country IE had
      no information about the band we are currently processing.
      
      This fixes a few regulatory issues, for example for drivers that depend
      on CRDA and had no 5 GHz freqencies allowed were not properly disabling
      5 GHz at all, furthermore it also allows users to restrict devices
      further as was intended.
      
      If you recieve a country IE upon association we will also disable the
      channels that are not allowed if the country IE had at least one
      channel on the respective band we are procesing.
      
      This was the original intention behind this design but it was
      completely overlooked...
      
      Cc: David Quan <david.quan@atheros.com>
      Cc: Jouni Malinen <jouni.malinen@atheros.com>
      cc: Easwar Krishnan <easwar.krishnan@atheros.com>
      Cc: stable@kernel.org
      Signed-off-by: NLuis R. Rodriguez <lrodriguez@atheros.com>
      Signed-off-by: NJohn W. Linville <linville@tuxdriver.com>
      ca4ffe8f
    • L
      cfg80211: fix allowing country IEs for WIPHY_FLAG_STRICT_REGULATORY · 749b527b
      Luis R. Rodriguez 提交于
      We should be enabling country IE hints for WIPHY_FLAG_STRICT_REGULATORY
      even if we haven't yet recieved regulatory domain hint for the driver
      if it needed one. Without this Country IEs are not passed on to drivers
      that have set WIPHY_FLAG_STRICT_REGULATORY, today this is just all
      Atheros chipset drivers: ath5k, ath9k, ar9170, carl9170.
      
      This was part of the original design, however it was completely
      overlooked...
      
      Cc: Easwar Krishnan <easwar.krishnan@atheros.com>
      Cc: stable@kernel.org
      Signed-off-by: NLuis R. Rodriguez <lrodriguez@atheros.com>
      Signed-off-by: NJohn W. Linville <linville@tuxdriver.com>
      749b527b
    • S
      rfkill: remove dead code · 2e48928d
      Stephen Hemminger 提交于
      The following code is defined but never used.
      Signed-off-by: NStephen Hemminger <shemminger@vyatta.com>
      Signed-off-by: NJohn W. Linville <linville@tuxdriver.com>
      2e48928d
  9. 01 11月, 2010 2 次提交
  10. 31 10月, 2010 3 次提交
  11. 30 10月, 2010 8 次提交
    • A
      audit mmap · 120a795d
      Al Viro 提交于
      Normal syscall audit doesn't catch 5th argument of syscall.  It also
      doesn't catch the contents of userland structures pointed to be
      syscall argument, so for both old and new mmap(2) ABI it doesn't
      record the descriptor we are mapping.  For old one it also misses
      flags.
      Signed-off-by: NAl Viro <viro@zeniv.linux.org.uk>
      120a795d
    • A
      af295132
    • T
      audit: Call tty_audit_push_task() outside preempt disabled · 3c80fe4a
      Thomas Gleixner 提交于
      While auditing all tasklist_lock read_lock sites I stumbled over the
      following call chain:
      
      audit_prepare_user_tty()
        read_lock(&tasklist_lock);
        tty_audit_push_task();
           mutex_lock(&buf->mutex);
      
           --> buf->mutex is locked with preemption disabled.
      
      Solve this by acquiring a reference to the task struct under
      rcu_read_lock and call tty_audit_push_task outside of the preempt
      disabled region.
      
      Move all code which needs to be protected by sighand lock into
      tty_audit_push_task() and use lock/unlock_sighand as we do not hold
      tasklist_lock.
      Signed-off-by: NThomas Gleixner <tglx@linutronix.de>
      Cc: Al Viro <viro@zeniv.linux.org.uk>
      Cc: Eric Paris <eparis@redhat.com>
      Cc: Oleg Nesterov <oleg@redhat.com>
      Signed-off-by: NAl Viro <viro@zeniv.linux.org.uk>
      3c80fe4a
    • T
      semaphore: Remove mutex emulation · 4882720b
      Thomas Gleixner 提交于
      Semaphores used as mutexes have been deprecated for years. Now that
      all users are either converted to real semaphores or to mutexes remove
      the cruft.
      Signed-off-by: NThomas Gleixner <tglx@linutronix.de>
      Cc: Peter Zijlstra <peterz@infradead.org>
      Cc: Christoph Hellwig <hch@infradead.org>
      LKML-Reference: <20100907125057.562399240@linutronix.de>
      4882720b
    • C
      phy/marvell: rename 88ec048 to 88e1318s and fix mscr1 addr · 337ac9d5
      Cyril Chemparathy 提交于
      The marvell 88ec048's official part number is 88e1318s.  This patch renames
      definitions in the driver to reflect this.
      
      In addition, a minor bug fix has been added to write back the MSCR1 register
      value properly.
      Signed-off-by: NCyril Chemparathy <cyril@ti.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      337ac9d5
    • S
      jump label: Add work around to i386 gcc asm goto bug · 45f81b1c
      Steven Rostedt 提交于
      On i386 (not x86_64) early implementations of gcc would have a bug
      with asm goto causing it to produce code like the following:
      
      (This was noticed by Peter Zijlstra)
      
         56 pushl 0
         67 nopl         jmp 0x6f
            popl
            jmp 0x8c
      
         6f              mov
                         test
                         je 0x8c
      
         8c mov
            call *(%esp)
      
      The jump added in the asm goto skipped over the popl that matched
      the pushl 0, which lead up to a quick crash of the system when
      the jump was enabled. The nopl is defined in the asm goto () statement
      and when tracepoints are enabled, the nop changes to a jump to the label
      that was specified by the asm goto. asm goto is suppose to tell gcc that
      the code in the asm might jump to an external label. Here gcc obviously
      fails to make that work.
      
      The bug report for gcc is here:
      
        http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46226
      
      The bug only appears on x86 when not compiled with
      -maccumulate-outgoing-args. This option is always set on x86_64 and it
      is also the work around for a function graph tracer i386 bug.
      (See commit: 746357d6)
      This explains why the bug only showed up on i386 when function graph
      tracer was not enabled.
      
      This patch now adds a CONFIG_JUMP_LABEL option that is default
      off instead of using jump labels by default. When jump labels are
      enabled, the -maccumulate-outgoing-args will be used (causing a
      slightly larger kernel image on i386). This option will exist
      until we have a way to detect if the gcc compiler in use is safe
      to use on all configurations without the work around.
      
      Note, there exists such a test, but for now we will keep the enabling
      of jump label as a manual option.
      
      Archs that know the compiler is safe with asm goto, may choose to
      select JUMP_LABEL and enable it by default.
      Reported-by: NIngo Molnar <mingo@elte.hu>
      Cause-discovered-by: NPeter Zijlstra <a.p.zijlstra@chello.nl>
      Cc: Peter Zijlstra <a.p.zijlstra@chello.nl>
      Cc: Thomas Gleixner <tglx@linutronix.de>
      Cc: Jason Baron <jbaron@redhat.com>
      Cc: H. Peter Anvin <hpa@zytor.com>
      Cc: David Daney <ddaney@caviumnetworks.com>
      Cc: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
      Cc: Masami Hiramatsu <masami.hiramatsu.pt@hitachi.com>
      Cc: David Miller <davem@davemloft.net>
      Cc: Richard Henderson <rth@redhat.com>
      LKML-Reference: <1288028746.3673.11.camel@laptop>
      Signed-off-by: NSteven Rostedt <rostedt@goodmis.org>
      45f81b1c
    • D
      debug_core,x86,blackfin: Clean up hw debug disable API · d7ba979d
      Dongdong Deng 提交于
      The kgdb_disable_hw_debug() was an architecture specific function for
      disabling all hardware breakpoints on a per cpu basis when entering
      the debug core.
      
      This patch will remove the weak function kdbg_disable_hw_debug() and
      change it into a call back which lives with the rest of hw breakpoint
      call backs in struct kgdb_arch.
      Signed-off-by: NDongdong Deng <dongdong.deng@windriver.com>
      Signed-off-by: NJason Wessel <jason.wessel@windriver.com>
      d7ba979d
    • L
      readv/writev: do the same MAX_RW_COUNT truncation that read/write does · 435f49a5
      Linus Torvalds 提交于
      We used to protect against overflow, but rather than return an error, do
      what read/write does, namely to limit the total size to MAX_RW_COUNT.
      This is not only more consistent, but it also means that any broken
      low-level read/write routine that still keeps counts in 'int' can't
      break.
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      435f49a5
  12. 29 10月, 2010 3 次提交