26 Feb, 2011

14 commits

  • The regulator framework is used for power management. The regulators are
    only named in the driver code, the actual control stuff is in the board
    file for each architecture or use case.

    The PN544 chip has three regulators that can be controlled or not -
    depending on the architecture where the chip is being used. So some of
    the regulators may not be controllable. In our current case the third
    regulator, which was missing from the code, went unnoticed because we
    didn't need to control it. To be as general as possible - in this respect
    - the driver needs to list all regulators. Then the board file can be
    used to actually set the usage.

    Signed-off-by: Matti J. Aaltonen
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Matti J. Aaltonen
     
  • Spell out the NFC acronym when it's shown for the first time.

    Signed-off-by: Matti J. Aaltonen
    Acked-by: Wolfram Sang
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Matti J. Aaltonen
     
  • swiotlb's map_page wrongly calls panic() when it can't find a buffer fit
    for device's dma mask. It should return an error instead.

    Devices with an odd dma mask (i.e. under 4G) like b44 network card hit
    this bug (the system crashes):

    http://marc.info/?l=linux-kernel&m=129648943830106&w=2

    If swiotlb returns an error, b44 driver can use the own bouncing
    mechanism.

    Reported-by: Chuck Ebbert
    Signed-off-by: FUJITA Tomonori
    Tested-by: Arkadiusz Miskiewicz
    Cc:
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    FUJITA Tomonori
     
  • I have translated some kernel documentation so I wish to maintain the
    Chinese documentation in our kernel directories.

    Signed-off-by: Harry Wei
    Cc: Joe Perches
    Cc: Greg KH
    Cc: Randy Dunlap
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Harry Wei
     
  • The move_pages() usage of find_task_by_vpid() requires rcu_read_lock() to
    prevent free_pid() from reclaiming the pid.

    Without this patch, RCU warnings are printed in v2.6.38-rc4 move_pages()
    with:

    CONFIG_LOCKUP_DETECTOR=y
    CONFIG_PREEMPT=y
    CONFIG_LOCKDEP=y
    CONFIG_PROVE_LOCKING=y
    CONFIG_PROVE_RCU=y

    Previously, migrate_pages() went through a similar transformation
    replacing usage of tasklist_lock with rcu read lock:

    commit 55cfaa3cbdd29c4919ecb5fb8965c310f357e48c
    Author: Zeng Zhaoming
    Date: Thu Dec 2 14:31:13 2010 -0800

    mm/mempolicy.c: add rcu read lock to protect pid structure

    commit 1e50df39f6e2c3a4a3394df62baa8a213df16c54
    Author: KOSAKI Motohiro
    Date: Thu Jan 13 15:46:14 2011 -0800

    mempolicy: remove tasklist_lock from migrate_pages

    Signed-off-by: Greg Thelen
    Cc: Mel Gorman
    Cc: Minchan Kim
    Cc: Rik van Riel
    Cc: KAMEZAWA Hiroyuki
    Cc: "Paul E. McKenney"
    Cc: Tetsuo Handa
    Cc: Sergey Senozhatsky
    Cc: Oleg Nesterov
    Cc: Zeng Zhaoming
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Greg Thelen
     
  • In several places, an epoll fd can call another file's ->f_op->poll()
    method with ep->mtx held. This is in general unsafe, because that other
    file could itself be an epoll fd that contains the original epoll fd.

    The code defends against this possibility in its own ->poll() method using
    ep_call_nested, but there are several other unsafe calls to ->poll
    elsewhere that can be made to deadlock. For example, the following simple
    program causes the call in ep_insert recursively call the original fd's
    ->poll, leading to deadlock:

    #include
    #include

    int main(void) {
    int e1, e2, p[2];
    struct epoll_event evt = {
    .events = EPOLLIN
    };

    e1 = epoll_create(1);
    e2 = epoll_create(2);
    pipe(p);

    epoll_ctl(e2, EPOLL_CTL_ADD, e1, &evt);
    epoll_ctl(e1, EPOLL_CTL_ADD, p[0], &evt);
    write(p[1], p, sizeof p);
    epoll_ctl(e1, EPOLL_CTL_ADD, e2, &evt);

    return 0;
    }

    On insertion, check whether the inserted file is itself a struct epoll,
    and if so, do a recursive walk to detect whether inserting this file would
    create a loop of epoll structures, which could lead to deadlock.

    [nelhage@ksplice.com: Use epmutex to serialize concurrent inserts]
    Signed-off-by: Davide Libenzi
    Signed-off-by: Nelson Elhage
    Reported-by: Nelson Elhage
    Tested-by: Nelson Elhage
    Cc: [2.6.34+, possibly earlier]
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Davide Libenzi
     
  • * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/lrg/voltage-2.6:
    regulator, mc13xxx: Remove pointless test for unsigned less than zero
    regulator: Fix warning with CONFIG_BUG disabled

    Linus Torvalds
     
  • * git://git.kernel.org/pub/scm/linux/kernel/git/mason/btrfs-unstable:
    Btrfs: fix fiemap bugs with delalloc
    Btrfs: set FMODE_EXCL in btrfs_device->mode
    Btrfs: make btrfs_rm_device() fail gracefully
    Btrfs: Avoid accessing unmapped kernel address
    Btrfs: Fix BTRFS_IOC_SUBVOL_SETFLAGS ioctl
    Btrfs: allow balance to explicitly allocate chunks as it relocates
    Btrfs: put ENOSPC debugging under a mount option

    Linus Torvalds
     
  • …git/tip/linux-2.6-tip

    * 'x86-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:
    x86 quirk: Fix polarity for IRQ0 pin2 override on SB800 systems
    x86/mrst: Fix apb timer rating when lapic timer is used
    x86: Fix reboot problem on VersaLogic Menlow boards

    Linus Torvalds
     
  • The member of the rtc_class_ops struct is called alarm_irq_enable and
    not alarm_irq_enabled

    CC: Thomas Gleixner
    Signed-off-by: Jelle Martijn Kok
    Signed-off-by: John Stultz
    Signed-off-by: Linus Torvalds

    Jelle Martijn Kok
     
  • * 'usb-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb-2.6:
    usb: musb: core: set has_tt flag
    USB: xhci: mark local functions as static
    USB: xhci: fix couple sparse annotations
    USB: xhci: rework xhci_print_ir_set() to get ir set from xhci itself
    USB: Reset USB 3.0 devices on (re)discovery
    xhci: Fix an error in count_sg_trbs_needed()
    xhci: Fix errors in the running total calculations in the TRB math
    xhci: Clarify some expressions in the TRB math
    xhci: Avoid BUG() in interrupt context

    Linus Torvalds
     
  • * 'for-linus' of git://neil.brown.name/md:
    md: Fix - again - partition detection when array becomes active
    Fix over-zealous flush_disk when changing device size.
    md: avoid spinlock problem in blk_throtl_exit
    md: correctly handle probe of an 'mdp' device.
    md: don't set_capacity before array is active.
    md: Fix raid1->raid0 takeover

    Linus Torvalds
     
  • With slab poisoning enabled, I see the following oops:

    Unable to handle kernel paging request for data at address 0x6b6b6b6b6b6b6b73
    ...
    NIP [c0000000006bc61c] .rxrpc_destroy+0x44/0x104
    LR [c0000000006bc618] .rxrpc_destroy+0x40/0x104
    Call Trace:
    [c0000000feb2bc00] [c0000000006bc618] .rxrpc_destroy+0x40/0x104 (unreliable)
    [c0000000feb2bc90] [c000000000349b2c] .key_cleanup+0x1a8/0x20c
    [c0000000feb2bd40] [c0000000000a2920] .process_one_work+0x2f4/0x4d0
    [c0000000feb2be00] [c0000000000a2d50] .worker_thread+0x254/0x468
    [c0000000feb2bec0] [c0000000000a868c] .kthread+0xbc/0xc8
    [c0000000feb2bf90] [c000000000020e00] .kernel_thread+0x54/0x70

    We aren't initialising token->next, but the code in destroy_context relies
    on the list being NULL terminated. Use kzalloc to zero out all the fields.

    Signed-off-by: Anton Blanchard
    Signed-off-by: David Howells
    Signed-off-by: Linus Torvalds

    Anton Blanchard
     
  • I'm seeing the following oops when testing afs:

    Unable to handle kernel paging request for data at address 0x00000008
    ...
    NIP [c0000000003393b0] .afs_unlink_writeback+0x38/0xc0
    LR [c00000000033987c] .afs_put_writeback+0x98/0xec
    Call Trace:
    [c00000000345f600] [c00000000033987c] .afs_put_writeback+0x98/0xec
    [c00000000345f690] [c00000000033ae80] .afs_write_begin+0x6a4/0x75c
    [c00000000345f790] [c00000000012b77c] .generic_file_buffered_write+0x148/0x320
    [c00000000345f8d0] [c00000000012e1b8] .__generic_file_aio_write+0x37c/0x3e4
    [c00000000345f9d0] [c00000000012e2a8] .generic_file_aio_write+0x88/0xfc
    [c00000000345fa90] [c0000000003390a8] .afs_file_write+0x10c/0x178
    [c00000000345fb40] [c000000000188788] .do_sync_write+0xc4/0x128
    [c00000000345fcc0] [c000000000189658] .vfs_write+0xe8/0x1d8
    [c00000000345fd70] [c000000000189884] .SyS_write+0x68/0xb0
    [c00000000345fe30] [c000000000008564] syscall_exit+0x0/0x40

    afs_write_begin hits an error and calls afs_unlink_writeback. In there
    we do list_del_init on an uninitialised list.

    The patch below initialises ->link when creating the afs_writeback struct.

    Signed-off-by: Anton Blanchard
    Signed-off-by: David Howells
    Signed-off-by: Linus Torvalds

    Anton Blanchard
     

25 Feb, 2011

13 commits

  • The variable 'val' is a 'unsigned int', so it can never be less than zero.
    This fact makes the "val < 0" part of the test done in BUG_ON() in
    mc13xxx_regulator_get_voltage() rather pointles since it can never have
    any effect.
    This patch removes the pointless test.

    Signed-off-by: Jesper Juhl
    Acked-by: Alberto Panizzo
    Acked-by: Mark Brown
    Signed-off-by: Liam Girdwood

    Jesper Juhl
     
  • Signed-off-by: Mark Brown
    Signed-off-by: Liam Girdwood

    Mark Brown
     
  • * 'drm-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/airlied/drm-2.6:
    drm/i915: Fix unintended recursion in ironlake_disable_rc6
    drm/i915: fix corruptions on i8xx due to relaxed fencing
    drm/i915: skip FDI & PCH enabling for DP_A
    agp/intel: Experiment with a 855GM GWB bit
    drm/i915: don't enable FDI & transcoder interrupts after all
    drm/i915: Ignore a hung GPU when flushing the framebuffer prior to a switch

    Linus Torvalds
     
  • …ickle/drm-intel into drm-fixes

    * 'drm-intel-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/ickle/drm-intel:
    drm/i915: Fix unintended recursion in ironlake_disable_rc6

    Dave Airlie
     
  • * 'kvm-updates/2.6.38' of git://git.kernel.org/pub/scm/virt/kvm/kvm:
    KVM: SVM: Advance instruction pointer in dr_intercept

    Linus Torvalds
     
  • Signed-off-by: Herton Ronaldo Krzesinski
    Signed-off-by: Linus Torvalds

    Herton Ronaldo Krzesinski
     
  • On some SB800 systems polarity for IOAPIC pin2 is wrongly
    specified as low active by BIOS. This caused system hangs after
    resume from S3 when HPET was used in one-shot mode on such
    systems because a timer interrupt was missed (HPET signal is
    high active).

    For more details see:

    http://marc.info/?l=linux-kernel&m=129623757413868

    Tested-by: Manoj Iyer
    Tested-by: Andre Przywara
    Signed-off-by: Andreas Herrmann
    Cc: Borislav Petkov
    Cc: stable@kernel.org # 37.x, 32.x
    LKML-Reference:
    Signed-off-by: Ingo Molnar

    Andreas Herrmann
     
  • MUSB is a non-standard host implementation which
    can handle all speeds with the same core. We need
    to set has_tt flag after commit
    d199c96d41d80a567493e12b8e96ea056a1350c1 (USB: prevent
    buggy hubs from crashing the USB stack) in order for
    MUSB HCD to continue working.

    Signed-off-by: Felipe Balbi
    Cc: stable
    Cc: Alan Stern
    Tested-by: Michael Jones
    Tested-by: Alexander Holler
    Signed-off-by: Greg Kroah-Hartman

    Felipe Balbi
     
  • After disabling, we're meant to teardown the bo used for the contexts,
    not recurse into ourselves again and preventing module unload.

    Reported-and-tested-by: Ben Widawsky
    Signed-off-by: Chris Wilson

    Chris Wilson
     
  • The new implementation of bd_link_disk_holder() added by 49731baa41d
    (block: restore multiple bd_link_disk_holder() support) didn't get an
    extra reference for the holder_dir kobject of the slave bdev; however,
    bdev kills holder_dir on removal, not release, so if the slave bdev is
    removed while there are holder links, the holder_dir will be destroyed
    while there still are holder links, which leads to oops later when
    bd_unlink_disk_order() tries to remove those links.

    Make bd_link_disk_holder() grab an extra reference for the slave's
    holder_dir and put it in bd_unlink_disk_holder().

    Signed-off-by: Tejun Heo
    Reported-by: "Hawrylewicz Czarnowski, Przemyslaw"
    Tested-by: "Hawrylewicz Czarnowski, Przemyslaw"
    Cc: Neil Brown
    Cc: Jens Axboe
    Signed-off-by: Linus Torvalds

    Tejun Heo
     
  • Grab a reference to bdev before calling blkdev_get(), which expects
    the refcount to be already incremented and either returns success or
    decrements the refcount and returns an error.

    The bug was introduced by e525fd89 (block: make blkdev_get/put()
    handle exclusive access), which didn't take into account this behavior
    of blkdev_get().

    Acked-by: Tejun Heo
    Signed-off-by: Miklos Szeredi
    Signed-off-by: Linus Torvalds

    Miklos Szeredi
     
  • Adam Kovari and others reported that disconnecting an USB drive with
    an ntfs-3g filesystem would cause "kernel BUG at fs/inode.c:1421!" to
    be triggered.

    The BUG could be traced back to ioctl(BLKBSZSET), which would
    erroneously decrement the refcount on the bdev. This is because
    blkdev_get() expects the refcount to be already incremented and either
    returns success or decrements the refcount and returns an error.

    The bug was introduced by e525fd89 (block: make blkdev_get/put()
    handle exclusive access), which didn't take into account this behavior
    of blkdev_get().

    This fixes
    https://bugzilla.kernel.org/show_bug.cgi?id=29202
    (and likely 29792 too)

    Reported-by: Adam Kovari
    Acked-by: Tejun Heo
    Signed-off-by: Miklos Szeredi
    Signed-off-by: Linus Torvalds

    Miklos Szeredi
     
  • * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs-2.6:
    Unlock vfsmount_lock in do_umount

    Linus Torvalds
     

24 Feb, 2011

13 commits

  • Need to adjust the clockevent device rating for the structure
    that will be registered with clockevent system instead of the
    temporary structure.

    Without this fix, APB timer rating will be higher than LAPIC
    timer such that it can not be released later to be used as the
    broadcast timer.

    Signed-off-by: Jacob Pan
    Cc: Arjan van de Ven
    Cc: Alan Cox
    Cc: Thomas Gleixner
    Cc: John Stultz
    LKML-Reference:
    Signed-off-by: Ingo Molnar

    Jacob Pan
     
  • By the commit
    b3e19d9 2011-01-07 fs: scale mntget/mntput
    vfsmount_lock was introduced around testing mnt_count.
    Fix the mis-typed 'unlock'

    Signed-off-by: J. R. Okajima
    Acked-by: Al Viro
    Signed-off-by: Al Viro

    J. R. Okajima
     
  • Revert
    b821eaa572fd737faaf6928ba046e571526c36c6
    and
    f3b99be19ded511a1bf05a148276239d9f13eefa

    When I wrote the first of these I had a wrong idea about the
    lifetime of 'struct block_device'. It can disappear at any time that
    the block device is not open if it falls out of the inode cache.

    So relying on the 'size' recorded with it to detect when the
    device size has changed and so we need to revalidate, is wrong.

    Rather, we really do need the 'changed' attribute stored directly in
    the mddev and set/tested as appropriate.

    Without this patch, a sequence of:
    mknod / open / close / unlink

    (which can cause a block_device to be created and then destroyed)
    will result in a rescan of the partition table and consequence removal
    and addition of partitions.
    Several of these in a row can get udev racing to create and unlink and
    other code can get confused.

    With the patch, the rescan is only performed when needed and so there
    are no races.

    This is suitable for any stable kernel from 2.6.35.

    Reported-by: "Wojcik, Krzysztof"
    Signed-off-by: NeilBrown
    Cc: stable@kernel.org

    NeilBrown
     
  • There are two cases when we call flush_disk.
    In one, the device has disappeared (check_disk_change) so any
    data will hold becomes irrelevant.
    In the oter, the device has changed size (check_disk_size_change)
    so data we hold may be irrelevant.

    In both cases it makes sense to discard any 'clean' buffers,
    so they will be read back from the device if needed.

    In the former case it makes sense to discard 'dirty' buffers
    as there will never be anywhere safe to write the data. In the
    second case it *does*not* make sense to discard dirty buffers
    as that will lead to file system corruption when you simply enlarge
    the containing devices.

    flush_disk calls __invalidate_devices.
    __invalidate_device calls both invalidate_inodes and invalidate_bdev.

    invalidate_inodes *does* discard I_DIRTY inodes and this does lead
    to fs corruption.

    invalidate_bev *does*not* discard dirty pages, but I don't really care
    about that at present.

    So this patch adds a flag to __invalidate_device (calling it
    __invalidate_device2) to indicate whether dirty buffers should be
    killed, and this is passed to invalidate_inodes which can choose to
    skip dirty inodes.

    flusk_disk then passes true from check_disk_change and false from
    check_disk_size_change.

    dm avoids tripping over this problem by calling i_size_write directly
    rathher than using check_disk_size_change.

    md does use check_disk_size_change and so is affected.

    This regression was introduced by commit 608aeef17a which causes
    check_disk_size_change to call flush_disk, so it is suitable for any
    kernel since 2.6.27.

    Cc: stable@kernel.org
    Acked-by: Jeff Moyer
    Cc: Andrew Patterson
    Cc: Jens Axboe
    Signed-off-by: NeilBrown

    NeilBrown
     
  • Robert Swiecki reported a BUG_ON(page_mapped) from a fuzzer, punching
    a hole with madvise(,, MADV_REMOVE). That path is under mutex, and
    cannot be explained by lack of serialization in unmap_mapping_range().

    Reviewing the code, I found one place where vm_truncate_count handling
    should have been updated, when I switched at the last minute from one
    way of managing the restart_addr to another: mremap move changes the
    virtual addresses, so it ought to adjust the restart_addr.

    But rather than exporting the notion of restart_addr from memory.c, or
    converting to restart_pgoff throughout, simply reset vm_truncate_count
    to 0 to force a rescan if mremap move races with preempted truncation.

    We have no confirmation that this fixes Robert's BUG,
    but it is a fix that's worth making anyway.

    Signed-off-by: Hugh Dickins
    Signed-off-by: Linus Torvalds

    Hugh Dickins
     
  • Michael Leun reported that running parallel opens on a fuse filesystem
    can trigger a "kernel BUG at mm/truncate.c:475"

    Gurudas Pai reported the same bug on NFS.

    The reason is, unmap_mapping_range() is not prepared for more than
    one concurrent invocation per inode. For example:

    thread1: going through a big range, stops in the middle of a vma and
    stores the restart address in vm_truncate_count.

    thread2: comes in with a small (e.g. single page) unmap request on
    the same vma, somewhere before restart_address, finds that the
    vma was already unmapped up to the restart address and happily
    returns without doing anything.

    Another scenario would be two big unmap requests, both having to
    restart the unmapping and each one setting vm_truncate_count to its
    own value. This could go on forever without any of them being able to
    finish.

    Truncate and hole punching already serialize with i_mutex. Other
    callers of unmap_mapping_range() do not, and it's difficult to get
    i_mutex protection for all callers. In particular ->d_revalidate(),
    which calls invalidate_inode_pages2_range() in fuse, may be called
    with or without i_mutex.

    This patch adds a new mutex to 'struct address_space' to prevent
    running multiple concurrent unmap_mapping_range() on the same mapping.

    [ We'll hopefully get rid of all this with the upcoming mm
    preemptibility series by Peter Zijlstra, the "mm: Remove i_mmap_mutex
    lockbreak" patch in particular. But that is for 2.6.39 ]

    Signed-off-by: Miklos Szeredi
    Reported-by: Michael Leun
    Reported-by: Gurudas Pai
    Tested-by: Gurudas Pai
    Acked-by: Hugh Dickins
    Cc: stable@kernel.org
    Signed-off-by: Linus Torvalds

    Miklos Szeredi
     
  • This reverts commit 556ea928f78a390fe16ae584e6433dff304d3014.

    Jeff Chua reports that it can cause some bluetooth devices (he mentions
    an Bluetooth Intermec scanner) to just stop responding after a while
    with messages like

    [ 4533.361959] btusb 8-1:1.0: no reset_resume for driver btusb?
    [ 4533.361964] btusb 8-1:1.1: no reset_resume for driver btusb?

    from the kernel. See also

    https://bugzilla.kernel.org/show_bug.cgi?id=26182

    for other reports.

    Reported-by: Jeff Chua
    Reported-by: Andrew Meakovski
    Reported-by: Jim Faulkner
    Acked-by: Greg KH
    Acked-by: Matthew Garrett
    Acked-by: Gustavo F. Padovan
    Cc: stable@kernel.org (for 2.6.37)
    Signed-off-by: Linus Torvalds

    Linus Torvalds
     
  • …ickle/drm-intel into drm-fixes

    * 'drm-intel-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/ickle/drm-intel:
    drm/i915: fix corruptions on i8xx due to relaxed fencing
    drm/i915: skip FDI & PCH enabling for DP_A
    agp/intel: Experiment with a 855GM GWB bit
    drm/i915: don't enable FDI & transcoder interrupts after all
    drm/i915: Ignore a hung GPU when flushing the framebuffer prior to a switch

    Dave Airlie
     
  • It looks like gen2 has a peculiar interleaved 2-row inter-tile
    layout. Probably inherited from i81x which had 2kb tiles (which
    naturally fit an even-number-of-tile-rows scheme to fit onto 4kb
    pages). There is no other mention of this in any docs (also not
    in the Intel internal documention according to Chris Wilson).

    Problem manifests itself in corruptions in the second half of the
    last tile row (if the bo has an odd number of tiles). Which can
    only happen with relaxed tiling (introduced in a00b10c360b35d6431a9).

    So reject set_tiling calls that don't satisfy this constrain to
    prevent broken userspace from causing havoc. While at it, also
    check the size for newer chipsets.

    LKML: https://lkml.org/lkml/2011/2/19/5
    Reported-by: Indan Zupancic
    Tested-by: Indan Zupancic
    Signed-off-by: Daniel Vetter
    Signed-off-by: Chris Wilson

    Daniel Vetter
     
  • * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6: (33 commits)
    Added support for usb ethernet (0x0fe6, 0x9700)
    r8169: fix RTL8168DP power off issue.
    r8169: correct settings of rtl8102e.
    r8169: fix incorrect args to oob notify.
    DM9000B: Fix PHY power for network down/up
    DM9000B: Fix reg_save after spin_lock in dm9000_timeout
    net_sched: long word align struct qdisc_skb_cb data
    sfc: lower stack usage in efx_ethtool_self_test
    bridge: Use IPv6 link-local address for multicast listener queries
    bridge: Fix MLD queries' ethernet source address
    bridge: Allow mcast snooping for transient link local addresses too
    ipv6: Add IPv6 multicast address flag defines
    bridge: Add missing ntohs()s for MLDv2 report parsing
    bridge: Fix IPv6 multicast snooping by correcting offset in MLDv2 report
    bridge: Fix IPv6 multicast snooping by storing correct protocol type
    p54pci: update receive dma buffers before and after processing
    fix cfg80211_wext_siwfreq lock ordering...
    rt2x00: Fix WPA TKIP Michael MIC failures.
    ath5k: Fix fast channel switching
    tcp: undo_retrans counter fixes
    ...

    Linus Torvalds
     
  • * 'drm-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/airlied/drm-2.6:
    amd64-agp: fix crash at second module load
    drm/radeon: fix regression with AA resolve checking
    drm: drop commented out code and preceding comment
    drm/vblank: Enable precise vblank timestamps for interlaced and doublescan modes.
    drm/vblank: Use memory barriers optimized for atomic_t instead of generics.
    drm/vblank: Use abs64(diff_ns) for s64 diff_ns instead of abs(diff_ns)
    drm/radeon/kms: align height of fb allocation.
    Revert "drm/radeon/kms: switch back to min->max pll post divider iteration"

    Linus Torvalds
     
  • David S. Miller
     
  • * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input:
    Input: serio/gameport - use 'long' system workqueue
    Input: synaptics - document 0x0c query
    Input: tegra-kbc - add function keymap

    Linus Torvalds