29 Mar, 2009

5 commits

  • Ingo Molnar
     
  • Ingo Molnar
     
  • …nux/kernel/git/tip/linux-2.6-tip

    * 'percpu-cpumask-x86-for-linus-2' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: (682 commits)
    percpu: fix spurious alignment WARN in legacy SMP percpu allocator
    percpu: generalize embedding first chunk setup helper
    percpu: more flexibility for @dyn_size of pcpu_setup_first_chunk()
    percpu: make x86 addr <-> pcpu ptr conversion macros generic
    linker script: define __per_cpu_load on all SMP capable archs
    x86: UV: remove uv_flush_tlb_others() WARN_ON
    percpu: finer grained locking to break deadlock and allow atomic free
    percpu: move fully free chunk reclamation into a work
    percpu: move chunk area map extension out of area allocation
    percpu: replace pcpu_realloc() with pcpu_mem_alloc() and pcpu_mem_free()
    x86, percpu: setup reserved percpu area for x86_64
    percpu, module: implement reserved allocation and use it for module percpu variables
    percpu: add an indirection ptr for chunk page map access
    x86: make embedding percpu allocator return excessive free space
    percpu: use negative for auto for pcpu_setup_first_chunk() arguments
    percpu: improve first chunk initial area map handling
    percpu: cosmetic renames in pcpu_setup_first_chunk()
    percpu: clean up percpu constants
    x86: un-__init fill_pud/pmd/pte
    x86: remove vestigial fix_ioremap prototypes
    ...

    Manually merge conflicts in arch/ia64/kernel/irq_ia64.c

    Linus Torvalds
     
  • * 'release' of git://git.kernel.org/pub/scm/linux/kernel/git/aegl/linux-2.6:
    [IA64] Fix kstat_this_cpu build breakage

    Linus Torvalds
     
  • * git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi-misc-2.6: (119 commits)
    [SCSI] scsi_dh_rdac: Retry for NOT_READY check condition
    [SCSI] mpt2sas: make global symbols unique
    [SCSI] sd: Make revalidate less chatty
    [SCSI] sd: Try READ CAPACITY 16 first for SBC-2 devices
    [SCSI] sd: Refactor sd_read_capacity()
    [SCSI] mpt2sas v00.100.11.15
    [SCSI] mpt2sas: add MPT2SAS_MINOR(221) to miscdevice.h
    [SCSI] ch: Add scsi type modalias
    [SCSI] 3w-9xxx: add power management support
    [SCSI] bsg: add linux/types.h include to bsg.h
    [SCSI] cxgb3i: fix function descriptions
    [SCSI] libiscsi: fix possbile null ptr session command cleanup
    [SCSI] iscsi class: remove host no argument from session creation callout
    [SCSI] libiscsi: pass session failure a session struct
    [SCSI] iscsi lib: remove qdepth param from iscsi host allocation
    [SCSI] iscsi lib: have lib create work queue for transmitting IO
    [SCSI] iscsi class: fix lock dep warning on logout
    [SCSI] libiscsi: don't cap queue depth in iscsi modules
    [SCSI] iscsi_tcp: replace scsi_debug/tcp_debug logging with iscsi conn logging
    [SCSI] libiscsi_tcp: replace tcp_debug/scsi_debug logging with session/conn logging
    ...

    Linus Torvalds
     

28 Mar, 2009

35 commits

  • Conflicts:
    arch/sparc/kernel/time_64.c
    drivers/gpu/drm/drm_proc.c

    Manual merge to resolve build warning due to phys_addr_t type change
    on x86:

    drivers/gpu/drm/drm_info.c

    Signed-off-by: Ingo Molnar

    Ingo Molnar
     
  • * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6: (166 commits)
    Revert "ax25: zero length frame filtering in AX25"
    Revert "netrom: zero length frame filtering in NetRom"
    cfg80211: default CONFIG_WIRELESS_OLD_REGULATORY to n
    mac80211/iwlwifi: move virtual A-MDPU queue bookkeeping to iwlwifi
    mac80211: fix aggregation to not require queue stop
    mac80211: add skb length sanity checking
    mac80211: unify and fix TX aggregation start
    mac80211: clean up __ieee80211_tx args
    mac80211: rework the pending packets code
    mac80211: fix A-MPDU queue assignment
    mac80211: rewrite fragmentation
    iwlwifi: show current driver status in user readable format
    b43: Add BCM4307 PCI-ID
    cfg80211: fix locking in nl80211_set_wiphy
    mac80211: fix RX path
    ath5k: properly drop packets from ops->tx
    ar9170: single module build
    ath9k: fix dma mapping leak of rx buffer upon rmmod
    rt2x00: New USB ID for rt73usb
    ath5k: warn and correct rate for unknown hw rate indexes
    ...

    Linus Torvalds
     
  • * git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc-2.6:
    sparc64: We need to use compat_sys_ustat() as well.
    sparc64: Fix MM refcount check in smp_flush_tlb_pending().

    Linus Torvalds
     
  • * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/ieee1394/linux1394-2.6: (53 commits)
    DVB: firedtv: FireDTV S2 problems with tuning solved
    DVB: firedtv: fix printk format mismatch
    ieee1394: constify device ID tables
    ieee1394: raw1394: add sparse annotations to raw1394_compat_write
    ieee1394: Storage class should be before const qualifier
    ieee1394: sbp2: follow up on "ieee1394: inherit ud vendor_id from node vendor_id"
    firewire: core: optimize propagation of BROADCAST_CHANNEL
    firewire: core: simplify broadcast channel allocation
    firewire: core: increase bus manager grace period
    firewire: core: drop unused call parameters of close_transaction
    firewire: cdev: add closure to async stream ioctl
    firewire: cdev: simplify FW_CDEV_IOC_SEND_REQUEST return value
    firewire: cdev: fix race of ioctl_send_request with bus reset
    firewire: cdev: secure add_descriptor ioctl
    firewire: cdev: amendment to "add ioctl to query maximum transmission speed"
    firewire: broadcast channel support
    firewire: implement asynchronous stream transmission
    firewire: core: normalize a function argument name
    firewire: normalize a variable name
    firewire: core: remove condition which is always false
    ...

    Linus Torvalds
     
  • Sparc was missed in commit 2b1c6bd77d4e6a727ffac8630cd154b2144b751a
    ("generic compat_sys_ustat"). We definitely need it, since our
    __kernel_ino_t is "unsigned long".

    Signed-off-by: David S. Miller

    David S. Miller
     
  • David S. Miller
     
  • This reverts commit f99bcff7a290768e035f3d4726e103c6ebe858bf.

    Like netrom, Alan Cox says that zero lengths have real meaning
    and are useful in this protocol.

    Signed-off-by: David S. Miller

    David S. Miller
     
  • This reverts commit a3ac80a130300573de351083cf4a5b46d233e8bf.

    Alan Cox says that zero length writes do have special meaning
    and are useful in this protocol.

    Signed-off-by: David S. Miller

    David S. Miller
     
  • David S. Miller
     
  • And update description and feature-removal schedule according
    to the new plan.

    Signed-off-by: Luis R. Rodriguez
    Signed-off-by: John W. Linville

    Luis R. Rodriguez
     
  • This patch removes all the virtual A-MPDU-queue bookkeeping from
    mac80211. Curiously, iwlwifi already does its own bookkeeping, so
    it doesn't require much changes except where it needs to handle
    starting and stopping the queues in mac80211.

    To handle the queue stop/wake properly, we rewrite the software
    queue number for aggregation frames and internally to iwlwifi keep
    track of the queues that map into the same AC queue, and only talk
    to mac80211 about the AC queue. The implementation requires calling
    two new functions, iwl_stop_queue and iwl_wake_queue instead of the
    mac80211 counterparts.

    Signed-off-by: Johannes Berg
    Cc: Reinette Chattre
    Signed-off-by: John W. Linville

    Johannes Berg
     
  • Instead of stopping the entire AC queue when enabling aggregation
    (which was only done for hardware with aggregation queues) buffer
    the packets for each station, and release them to the pending skb
    queue once aggregation is turned on successfully.

    We get a little more code, but it becomes conceptually simpler and
    we can remove the entire virtual queue mechanism from mac80211 in
    a follow-up patch.

    This changes how mac80211 behaves towards drivers that support
    aggregation but have no hardware queues -- those drivers will now
    not be handed packets while the aggregation session is being
    established, but only after it has been fully established.

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

    Johannes Berg
     
  • We just found a bug in zd1211rw where it would reject
    packets in the ->tx() method but leave them modified,
    which would cause retransmit attempts with completely
    bogus skbs, eventually leading to a panic due to not
    having enough headroom in those.

    This patch adds a sanity check to mac80211 to catch
    such driver mistakes; in this case we warn and drop
    the skb.

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

    Johannes Berg
     
  • When TX aggregation becomes operational, we do a number of steps:
    1) print a debug message
    2) wake the virtual queue
    3) notify the driver

    Unfortunately, 1) and 3) are only done if the driver is first to
    reply to the aggregation request, it is, however, possible that the
    remote station replies before the driver! Thus, unify the code for
    this and call the new function ieee80211_agg_tx_operational in both
    places where TX aggregation can become operational.

    Additionally, rename the driver notification from
    IEEE80211_AMPDU_TX_RESUME to IEEE80211_AMPDU_TX_OPERATIONAL.

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

    Johannes Berg
     
  • __ieee80211_tx takes a struct ieee80211_tx_data argument, but only
    uses a few of its members, namely 'skb' and 'sta'. Make that explicit,
    so that less internal knowledge is required in ieee80211_tx_pending
    and the possibility of introducing errors here is removed.

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

    Johannes Berg
     
  • The pending packets code is quite incomprehensible, uses memory barriers
    nobody really understands, etc. This patch reworks it entirely, using
    the queue spinlock, proper stop bits and the skb queues themselves to
    indicate whether packets are pending or not (rather than a separate
    variable like before).

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

    Johannes Berg
     
  • Internally, mac80211 requires the skb's queue mapping to be set
    to the AC queue, not the virtual A-MPDU queue. This is not done
    correctly currently, this patch moves the code down to directly
    before the driver is invoked and adds a comment that it will be
    moved into the driver later.

    Since this requires __ieee80211_tx() to have the sta pointer,
    make sure to provide it in ieee80211_tx_pending().

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

    Johannes Berg
     
  • Fragmentation currently uses an allocated array to store the
    fragment skbs, and then keeps track of which have been sent
    and which are still pending etc. This is rather complicated;
    make it simpler by just chaining the fragments into skb->next
    and removing from that list when sent. Also simplifies all
    code that needs to touch fragments, since it now only needs
    to walk the skb->next list.

    This is a prerequisite for fixing the stored packet code,
    which I need to do for proper aggregation packet storing.

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

    Johannes Berg
     
  • change the display of current driver status bit to user readable format
    for better and easier debugging

    Signed-off-by: Wey-Yi Guy
    Signed-off-by: Reinette Chatre
    Signed-off-by: John W. Linville

    Wey-Yi Guy
     
  • 00:09.0 Network controller [0280]: Broadcom Corporation BCM4307 Ethernet Controller [14e4:4306] (rev 03)
    Subsystem: Broadcom Corporation BCM4307 Ethernet Controller [14e4:4306]
    Flags: bus master, fast devsel, latency 32, IRQ 10
    Memory at d7000000 (32-bit, non-prefetchable) [size=8K]
    Kernel driver in use: b43-pci-bridge
    Kernel modules: ssb

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

    Michael Buesch
     
  • Luis reports that there's a circular locking dependency;
    this is because cfg80211_dev_rename() will acquire the
    cfg80211_mutex while the device mutex is held, while
    this normally is done the other way around. The solution
    is to open-code the device-getting in nl80211_set_wiphy
    and require holding the mutex around cfg80211_dev_rename
    rather than acquiring it within.

    Also fix a bug -- rtnl locking is expected by drivers so
    we need to provide it.

    Reported-by: Luis R. Rodriguez
    Signed-off-by: Johannes Berg
    Signed-off-by: John W. Linville

    Johannes Berg
     
  • My previous patch ("mac80211: remove mixed-cell and userspace MLME code")
    was too obvious to me, so obvious that a stupid bug crept in. The IBSS
    RX function must be invoked for IBSS, of course, not anything != IBSS.

    Reported-by: Larry Finger
    Signed-off-by: Johannes Berg
    Tested-by: Larry Finger
    Signed-off-by: John W. Linville

    Johannes Berg
     
  • We shouldn't return NETDEV_TX_BUSY from the TX callback, especially
    after we've mucked with the sk_buffs. Drop the packets and return
    NETDEV_TX_OK.

    Changes-licensed-under: 3-Clause-BSD

    Signed-off-by: Bob Copeland
    Signed-off-by: John W. Linville

    Bob Copeland
     
  • This patch restores all-in-one module build procedure for ar9170.

    Signed-off-by: Christian Lamparter
    Signed-off-by: John W. Linville

    Christian Lamparter
     
  • We were claiming DMA buffers on the RX tasklet but never
    upon a simple module removal.

    Cc: stable@kernel.org
    Signed-off-by: FUJITA Tomonori
    Signed-off-by: Luis R. Rodriguez
    Signed-off-by: John W. Linville

    Luis R. Rodriguez
     
  • Signed-off-by: Ivo van Doorn
    Signed-off-by: John W. Linville

    Ivo van Doorn
     
  • ath5k sets up a mapping table from the hardware rate index to
    the rate index used by mac80211; however, we have seen some
    received frames with incorrect rate indexes. Such frames
    normally get dropped with a warning in __ieee80211_rx(),
    but it doesn't include enough information to track down the
    error.

    This patch adds a warning to hw_to_driver_rix for any lookups
    that result in a rate index of -1, then returns a valid rate so
    the frame can be processed.

    Changes-licensed-under: 3-Clause-BSD

    Signed-off-by: Bob Copeland
    Cc: stable@kernel.org
    Signed-off-by: John W. Linville

    Bob Copeland
     
  • This patch fixes the return type of b43_plcp_get_bitrate_idx_ofdm. If
    the plcp contains an error, the function return value is 255 instead
    of -1, and the packet was not dropped. This causes a warning in
    __ieee80211_rx function because rate idx is out of range.

    Cc: stable@kernel.org
    Signed-off-by: Lorenzo Nava
    Signed-off-by: Michael Buesch
    Signed-off-by: John W. Linville

    Lorenzo Nava
     
  • This patch updates p54's Kconfig entry and removes the out-dated device list.

    Signed-off-by: Christian Lamparter
    Signed-off-by: John W. Linville

    Christian Lamparter
     
  • This patch changes mac80211 to not notify the rate control algorithm's
    tx_status() method when reporting status for a packet that didn't go
    through the rate control algorithm's get_rate() method.

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

    Johannes Berg
     
  • This patch simplifies the tx_status report code by using four tx_queues per
    station instead of only one. (the skb lookup should be in O(1) now :-p ).

    Also, it fixes a really obvious copy&paste bug in the janitor work code and
    adds back a few spilled bits to the hardware definition header about QoS.

    Signed-off-by: Christian Lamparter
    Signed-off-by: John W. Linville

    Christian Lamparter
     
  • Add IEEE80211_HW_BEACON_FILTERING flag so that driver inform that it supports
    beacon filtering. Drivers need to call the new function
    ieee80211_beacon_loss() to notify about beacon loss.

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

    Kalle Valo
     
  • In beacon filtering there needs to be a way to not expire the BSS even
    when no beacons are received. Add an interface to cfg80211 to hold
    BSS and make sure that it's not expired.

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

    Kalle Valo
     
  • When software scanning we need to disable power save so that all possible
    probe responses and beacons are received. For hardware scanning assume that
    hardware will take care of that and document that assumption.

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

    Kalle Valo
     
  • Separate beacon and rx path tracking in preparation for the beacon filtering
    support. At the same time change ieee80211_associated() to look a bit simpler.

    Probe requests are now sent only after IEEE80211_PROBE_IDLE_TIME, which
    is now set to 60 seconds.

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

    Kalle Valo