01 Mar, 2008

14 commits

  • This patch clarifies the use of the irqsafe vs. non-irq-safe
    functions and their respective locking requirements.

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

    Johannes Berg
     
  • This patch adds functions to setup and read the CHIPCO IRQ.

    Signed-off-by: Aurelien Jarno
    Signed-off-by: Michael Buesch
    Signed-off-by: John W. Linville

    Aurelien Jarno
     
  • This reworks the code for TX filtered frames, splitting it out to
    a new function to handle those cases, making the clear instruction
    a flag and renaming a few things to be easier to understand and
    less Atheros hardware specific. Finally, it also makes the comments
    explain more.

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

    Johannes Berg
     
  • This adds support for 8bit wide register reads/writes.
    This is needed in order to support the gigabit ethernet core.

    Signed-off-by: Michael Buesch
    Signed-off-by: John W. Linville

    Michael Buesch
     
  • enable IBSS cell merging. if an IBSS beacon with the same channel, same ESSID
    and a TSF higher than the local TSF (mactime) is received, we have to join its
    BSSID. while this might not be immediately apparent from reading the 802.11
    standard it is compliant and necessary to make IBSS mode functional in many
    cases. most drivers have a similar behaviour.

    * move the relevant code section (previously only containing debug code) down
    to the end of the function, so we can reuse the bss structure.

    * we have to compare the mactime (TSF at the time of packet receive) rather
    than the current TSF. since mactime is defined as the time the first data
    symbol arrived we add the time until byte 24 where the timestamp resides, since
    this is how the beacon timestamp is defined. as some some drivers are not able
    to give a reliable mactime we fall back to use the current TSF, which will be
    enough to catch most (but not all) cases where an IBSS merge is necessary.

    * in IBSS mode we want to allow beacons to override probe response info so we
    can correctly do merges.

    * we don't only configure beacons based on scan results, so change that
    message.

    * to enable this we have to let all beacons thru in IBSS mode, even if they
    have a different BSSID.

    Signed-off-by: Bruno Randolf
    Acked-by: Johannes Berg
    Signed-off-by: John W. Linville

    Bruno Randolf
     
  • define mactime as the time when the first data symbol arrived at the HW. the
    old definition was questionable because 802.11 defines timestamp only for
    beacon and probe response frames, and there it means the timestamp field.

    a stricter definition of mactime is necessary for correct merging of IBSS.

    note that it is up to the driver to convert whatever its hardware returns to
    this definition. unfortunately we don't know for example when atheros hardware
    takes its rx timestamp exactly :(

    Signed-off-by: Bruno Randolf
    Acked-by: Johannes Berg
    Signed-off-by: John W. Linville

    Bruno Randolf
     
  • This extends the filter flags documentation to make it clear
    what clearing a flag really means.

    Signed-off-by: Michael Buesch
    Acked-by: Johannes Berg
    Signed-off-by: John W. Linville

    Michael Buesch
     
  • This changes mac80211 to pass the burst time to conf_tx in txop
    units rather than 0.1msec units. 0.1msec units are only required
    by atheros hardware (according to current driver support), all
    other drivers do other calculations or require the txop value.
    Therefore, it results in fewer calculations and more precision
    if we just pass the txop value through to the driver.

    Signed-off-by: Johannes Berg
    Acked-by: Michael Buesch
    Signed-off-by: John W. Linville

    Johannes Berg
     
  • This allows precise control over what a monitor interface shows.

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

    Michael Wu
     
  • This makes nl80211 export the hardware bitrate/channel capabilities
    as registered in a wiphy.

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

    Johannes Berg
     
  • This patch creates new cfg80211 wiphy API for channel and bitrate
    registration and converts mac80211 and drivers to the new API. The
    old mac80211 API is completely ripped out. All drivers (except ath5k)
    are updated to the new API, in many cases I expect that optimisations
    can be done.

    Along with the regulatory code I've also ripped out the
    IEEE80211_HW_DEFAULT_REG_DOMAIN_CONFIGURED flag, I believe it to be
    unnecessary if the hardware simply gives us whatever channels it wants
    to support and we then enable/disable them as required, which is pretty
    much required for travelling.

    Additionally, the patch adds proper "basic" rate handling for STA
    mode interface, AP mode interface will have to have new API added
    to allow userspace to set the basic rate set, currently it'll be
    empty... However, the basic rate handling will need to be moved to
    the BSS conf stuff.

    I do expect there to be bugs in this, especially wrt. transmit
    power handling where I'm basically clueless about how it should work.

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

    Johannes Berg
     
  • This patch adds fields to ieee80211_tx_status in order to allow block ack
    information exchange between low-level driver,mac80211 and rate scaling
    module.

    Signed-off-by: Ron Rindjunsky
    Signed-off-by: John W. Linville

    Ron Rindjunsky
     
  • This patch allows qdisc support in A-MPDU Tx. a method to
    handle QoS TID switches is present in this patch.

    Signed-off-by: Ron Rindjunsky
    Signed-off-by: John W. Linville

    Ron Rindjunsky
     
  • This patch adds the API for 3 stages in A-MPDU Tx session flow:
    - request mac80211 to start/stop A-MPDU Tx session for specific TID. such a
    request should be issued by a load aware element, either mac80211 itself
    or external element.
    - requests by mac80211 to low-level driver to start/stop Tx aggregation.
    notice that low level driver responds now with Starting Sequence Number.
    - async feedback by low-level to mac80211 to inform that HW is ready for
    next A-MPDU Tx state.
    Changes in API to Rx A-MPDU were also made, reflected in iwlwifi changes as
    well.

    Signed-off-by: Ron Rindjunsky
    Signed-off-by: John W. Linville

    Ron Rindjunsky
     

29 Feb, 2008

4 commits


28 Feb, 2008

1 commit

  • Properly add parens around the macro argument. This is not needed by
    the kernel but the macro is exported to userspace, so it shouldn't
    make any assumptions.

    Also use NF_VERDICT_BITS instead of NF_VERDICT_QBTIS for the left-shift
    since thats whats logically correct.

    Signed-off-by: Patrick McHardy
    Signed-off-by: David S. Miller

    Patrick McHardy
     

27 Feb, 2008

1 commit


25 Feb, 2008

3 commits


24 Feb, 2008

17 commits

  • * 'upstream-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jgarzik/libata-dev:
    libata-core: fix kernel-doc warning
    sata_fsl: fix build with ATA_VERBOSE_DEBUG
    [libata] ahci: AMD SB700/SB800 SATA support 64bit DMA
    libata-pmp: clear hob for pmp register accesses
    libata: automatically use DMADIR if drive/bridge requires it
    power_state: get rid of write-only variable in SATA
    pata_atiixp: Use 255 sector limit

    Linus Torvalds
     
  • Back in 2.6.17-rc2, a libata module parameter was added for atapi_dmadir.

    That's nice, but most SATA devices which need it will tell us about it
    in their IDENTIFY PACKET response, as bit-15 of word-62 of the
    returned data (as per ATA7, ATA8 specifications).

    So for those which specify it, we should automatically use the DMADIR bit.
    Otherwise, disc writing will fail by default on many SATA-ATAPI drives.

    This patch adds ATA_DFLAG_DMADIR and make ata_dev_configure() set it
    if atapi_dmadir is set or identify data indicates DMADIR is necessary.
    atapi_xlat() is converted to check ATA_DFLAG_DMADIR before setting
    DMADIR.

    Original patch is from Mark Lord.

    Signed-off-by: Tejun Heo
    Cc: Mark Lord
    Signed-off-by: Jeff Garzik

    Tejun Heo
     
  • * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6: (37 commits)
    [NETFILTER]: fix ebtable targets return
    [IP_TUNNEL]: Don't limit the number of tunnels with generic name explicitly.
    [NET]: Restore sanity wrt. print_mac().
    [NEIGH]: Fix race between neighbor lookup and table's hash_rnd update.
    [RTNL]: Validate hardware and broadcast address attribute for RTM_NEWLINK
    tg3: ethtool phys_id default
    [BNX2]: Update version to 1.7.4.
    [BNX2]: Disable parallel detect on an HP blade.
    [BNX2]: More 5706S link down workaround.
    ssb: Fix support for PCI devices behind a SSB->PCI bridge
    zd1211rw: fix sparse warnings
    rtl818x: fix sparse warnings
    ssb: Fix pcicore cardbus mode
    ssb: Make the GPIO API reentrancy safe
    ssb: Fix the GPIO API
    ssb: Fix watchdog access for devices without a chipcommon
    ssb: Fix serial console on new bcm47xx devices
    ath5k: Fix build warnings on some 64-bit platforms.
    WDEV, ath5k, don't return int from bool function
    WDEV: ath5k, fix lock imbalance
    ...

    Linus Torvalds
     
  • * git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc-2.6:
    [SPARC64]: make IOMMU code respect the segment boundary limits
    [SPARC64]: Fix cpu trampoline et al. mismatch warnings.
    [SPARC64]: More sparse warning fixes in process.c
    [SPARC64]: Fix sparse warning wrt. fault_in_user_windows.
    [SPARC64]: Kill show_regs32().
    [SPARC64]: Fix sparse warnings wrt. __show_regs().
    [SPARC64]: Kill show_stackframe{,32}().
    [SPARC64]: Fix sparse warnings wrt. machine_alt_power_off().

    Linus Torvalds
     
  • Use the added dev_alloc_name() call to create tunnel device name,
    rather than iterate in a hand-made loop with an artificial limit.

    Thanks Patrick for noticing this.

    [ The way this works is, when the device is actually registered,
    the generic code noticed the '%' in the name and invokes
    dev_alloc_name() to fully resolve the name. -DaveM ]

    Signed-off-by: Pavel Emelyanov
    Signed-off-by: David S. Miller

    Pavel Emelyanov
     
  • MAC_FMT had only one user and we tried to get rid of
    that, but this created more problems than it solved.

    As a result, this reverts three commits:

    235365f3aaaa10b7056293877c0ead50425f25c7 ("net/8021q/vlan_dev.c: Use
    print_mac."), fea5fa875eb235dc186b1f5184eb36abc63e26cc ("[NET]: Remove
    MAC_FMT"), and 8f789c48448aed74fe1c07af76de8f04adacec7d ("[NET]:
    Elminate spurious print_mac() calls.")

    Signed-off-by: David S. Miller

    David S. Miller
     
  • - replace old name 'cont' with 'cgrp' (Paul Menage did this cleanup for
    cgroup.c in commit bd89aabc6761de1c35b154fe6f914a445d301510)
    - remove a duplicate declaration of cgroup_path()

    Signed-off-by: Li Zefan
    Acked-by: Paul Menage
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Li Zefan
     
  • fix:
    - comments about need_forkexit_callback
    - comments about release agent
    - typo and comment style, etc.

    Signed-off-by: Li Zefan
    Acked-by: Paul Menage
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Li Zefan
     
  • - add missing file and declare.
    - remove unused file and macros.
    - some cleanup.

    Signed-off-by: Yoshinori Sato
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Yoshinori Sato
     
  • get_user const *ptr access fix.

    Signed-off-by: Yoshinori Sato
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Yoshinori Sato
     
  • Not all architectures implement futex_atomic_cmpxchg_inatomic(). The default
    implementation returns -ENOSYS, which is currently not handled inside of the
    futex guts.

    Futex PI calls and robust list exits with a held futex result in an endless
    loop in the futex code on architectures which have no support.

    Fixing up every place where futex_atomic_cmpxchg_inatomic() is called would
    add a fair amount of extra if/else constructs to the already complex code. It
    is also not possible to disable the robust feature before user space tries to
    register robust lists.

    Compile time disabling is not a good idea either, as there are already
    architectures with runtime detection of futex_atomic_cmpxchg_inatomic support.

    Detect the functionality at runtime instead by calling
    cmpxchg_futex_value_locked() with a NULL pointer from the futex initialization
    code. This is guaranteed to fail, but the call of
    futex_atomic_cmpxchg_inatomic() happens with pagefaults disabled.

    On architectures, which use the asm-generic implementation or have a runtime
    CPU feature detection, a -ENOSYS return value disables the PI/robust features.

    On architectures with a working implementation the call returns -EFAULT and
    the PI/robust features are enabled.

    The relevant syscalls return -ENOSYS and the robust list exit code is blocked,
    when the detection fails.

    Fixes http://lkml.org/lkml/2008/2/11/149
    Originally reported by: Lennart Buytenhek

    Signed-off-by: Thomas Gleixner
    Acked-by: Ingo Molnar
    Cc: Lennert Buytenhek
    Cc: Riku Voipio
    Cc:
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Thomas Gleixner
     
  • Merge include/linux/efs_fs{_i,_dir}.h into fs/efs/efs.h. efs_vh.h remains
    there because this is the IRIX volume header and shouldn't really be
    handled by efs but by the partitioning code. efs_sb.h remains there for
    now because it's exported to userspace. Of course this wrong and aboot
    should have a copy of it's own, but I'll leave that to a separate patch to
    avoid any contention.

    Signed-off-by: Christoph Hellwig
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Christoph Hellwig
     
  • Fixes a sequencing bug in spi driver pxa2xx_spi.c in which the chip select
    for a transfer may be asserted before the clock polarity is set on the
    interface. As a result of this bug, the clock signal may have the wrong
    polarity at transfer start, so it may need to make an extra half transition
    before the intended clock/data signals begin. (This probably means all
    transfers are one bit out of sequence.)

    This only occurs on the first transfer following a change in clock polarity
    in systems using more than one more than one such polarity. The fix
    assures that the clock mode is properly set before asserting chip select.

    This bug was introduced in a patch merged on 2006/12/10, kernel 2.6.20.
    The patch defines an additional bit in: include/asm-arm/arch-pxa/regs-ssp.h
    for 2.6.25 and newer kernels but this addition must be made in:
    include/asm-arm/arch-pxa/pxa-regs.h for kernels between 2.6.20 and 2.6.24,
    inclusive

    Signed-off-by: Ned Forrester
    Signed-off-by: David Brownell
    Cc: Russell King
    Cc:
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Ned Forrester
     
  • Make is_vmalloc_addr() contingent on CONFIG_MMU=y, as it won't compile
    in !MMU mode.

    [ Bug introduced in commit 9e2779fa281cfda13ac060753d674bbcaa23367e:
    "is_vmalloc_addr(): Check if an address is within the vmalloc
    boundaries" ].

    Signed-off-by: David Howells
    Cc: Greg Ungerer
    Cc: Christoph Lameter
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    David Howells
     
  • Fix build failure on sparc:

    In file included from include/linux/mm.h:39,
    from include/linux/memcontrol.h:24,
    from include/linux/swap.h:8,
    from include/linux/suspend.h:7,
    from init/do_mounts.c:6:
    include/asm/pgtable.h:344: warning: parameter names (without
    types) in function declaration
    include/asm/pgtable.h:345: warning: parameter names (without
    types) in function declaration
    include/asm/pgtable.h:346: error: expected '=', ',', ';', 'asm' or
    '__attribute__' before '___f___swp_entry'

    viro sayeth:

    I've run allmodconfig builds on a bunch of target, FWIW (essentially the
    same patch). Note that these includes are recent addition caused by added
    inline function that had since then become a define. So while I agree with
    your comments in general, in _this_ case it's pretty safe.

    The commit that had done it is 3062fc67dad01b1d2a15d58c709eff946389eca4
    ("memcontrol: move mm_cgroup to header file") and the switch to #define
    is in commit 60c12b1202a60eabb1c61317e5d2678fcea9893f ("memcontrol: add
    vm_match_cgroup()") (BTW, that probably warranted mentioning in the
    changelog of the latter).

    Cc: Adrian Bunk
    Cc: Robert Reif
    Signed-off-by: David Rientjes
    Cc: "David S. Miller"
    Cc: Al Viro
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    David Rientjes
     
  • Define SO_MARK for MN10300.

    Signed-off-by: David Howells
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    David Howells
     
  • Define HZ as a config option.

    Signed-off-by: David Howells
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    David Howells