22 Jul, 2010

6 commits


21 Jul, 2010

23 commits

  • Up to 2.6.34 pcmcia_release_irq() reset p_dev->_irq to 0 after releasing
    the irq. The IRQ is now released in pcmcia_disable_device(), however
    p_dev->_irq is not reset, triggering a warning in pcmcia_device_remove().

    Signed-off-by: Patrick McHardy
    Signed-off-by: Andrew Morton
    Signed-off-by: Dominik Brodowski

    Patrick McHardy
     
  • Add the shrinkers missed in the first conversion of the API in
    commit 7f8275d0d660c146de6ee3017e1e2e594c49e820 ("mm: add context argument to
    shrinker callback").

    Signed-off-by: Dave Chinner

    Dave Chinner
     
  • The kernel's math-emu code contains a macro _FP_FROM_INT() which is
    used to convert an integer to a raw normalized floating-point value.
    It does this basically in three steps:

    1. Compute the exponent from the number of leading zero bits.
    2. Downshift large fractions to put the MSB in the right position
    for normalized fractions.
    3. Upshift small fractions to put the MSB in the right position.

    There is an boundary error in step 2, causing a fraction with its
    MSB exactly one bit above the normalized MSB position to not be
    downshifted. This results in a non-normalized raw float, which when
    packed becomes a massively inaccurate representation for that input.

    The impact of this depends on a number of arch-specific factors,
    but it is known to have broken emulation of FXTOD instructions
    on UltraSPARC III, which was originally reported as GCC bug 44631
    .

    Any arch which uses math-emu to emulate conversions from integers to
    same-size floats may be affected.

    The fix is simple: the exponent comparison used to determine if the
    fraction should be downshifted must be "
    Signed-off-by: David S. Miller

    Mikael Pettersson
     
  • * 'drm-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/airlied/drm-2.6:
    drm/r600: fix possible NULL pointer derefernce
    drm/radeon/kms: add quirk for ASUS HD 3600 board
    include/linux/vgaarb.h: add missing part of include guard
    drm/nouveau: Fix crashes during fbcon init on single head cards.
    drm/nouveau: fix pcirom vbios shadow breakage from acpi rom patch
    drm/radeon/kms: fix shared ddc harder
    drm/i915: enable low power render writes on GEN3 hardware.
    drm/i915: Define MI_ARB_STATE bits
    vmwgfx: return -EFAULT if copy_to_user fails
    fb: handle allocation failure in alloc_apertures()
    drm: radeon: check kzalloc() result
    drm/ttm: Fix build on architectures without AGP
    drm/radeon/kms: fix gtt MC base alignment on rs4xx/rs690/rs740 asics
    drm/radeon/kms: fix possible mis-detection of sideport on rs690/rs740
    drm/radeon/kms: fix legacy tv-out pal mode

    Linus Torvalds
     
  • Reported-by: Alexander Y. Fomichev
    Signed-off-by: Alex Deucher
    Signed-off-by: Dave Airlie

    Alex Deucher
     
  • Connector is actually DVI rather than HDMI.

    Reported-by: trapDoor
    Signed-off-by: Alex Deucher
    Cc: stable@kernel.org
    Signed-off-by: Dave Airlie

    Alex Deucher
     
  • vgaarb.h was missing the #define of the #ifndef at the top for the guard
    to prevent multiple #include's from causing re-define errors

    Signed-off-by: Doug Goldstein
    Cc: Dave Airlie
    Cc: Jesse Barnes
    Signed-off-by: Andrew Morton
    Signed-off-by: Dave Airlie

    Doug Goldstein
     
  • * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/sage/ceph-client:
    ceph: do not include cap/dentry releases in replayed messages
    ceph: reuse request message when replaying against recovering mds
    ceph: fix creation of ipv6 sockets
    ceph: fix parsing of ipv6 addresses
    ceph: fix printing of ipv6 addrs
    ceph: add kfree() to error path
    ceph: fix leak of mon authorizer
    ceph: fix message revocation

    Linus Torvalds
     
  • * 'linuxdocs' of git://git.kernel.org/pub/scm/linux/kernel/git/rdunlap/linux-docs:
    documentation: fix almost duplicate filenames (IO/io-mapping.txt)

    Linus Torvalds
     
  • * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6: (24 commits)
    bridge: Partially disable netpoll support
    tcp: fix crash in tcp_xmit_retransmit_queue
    IPv6: fix CoA check in RH2 input handler (mip6_rthdr_input())
    ibmveth: lost IRQ while closing/opening device leads to service loss
    rt2x00: Fix lockdep warning in rt2x00lib_probe_dev()
    vhost: avoid pr_err on condition guest can trigger
    ipmr: Don't leak memory if fib lookup fails.
    vhost-net: avoid flush under lock
    net: fix problem in reading sock TX queue
    net/core: neighbour update Oops
    net: skb_tx_hash() fix relative to skb_orphan_try()
    rfs: call sock_rps_record_flow() in tcp_splice_read()
    xfrm: do not assume that template resolving always returns xfrms
    hostap_pci: set dev->base_addr during probe
    axnet_cs: use spin_lock_irqsave in ax_interrupt
    dsa: Fix Kconfig dependencies.
    act_nat: not all of the ICMP packets need an IP header payload
    r8169: incorrect identifier for a 8168dp
    Phonet: fix skb leak in pipe endpoint accept()
    Bluetooth: Update sec_level/auth_type for already existing connections
    ...

    Linus Torvalds
     
  • If a single-threaded process does a file-descriptor operation, and some
    other process accesses that same file descriptor via /proc, the current
    rcu_dereference_check_fdtable() can give a false-positive RCU-lockdep
    splat due to the reference count being increased by the /proc access after
    the reference-count check in fget_light() but before the check in
    rcu_dereference_check_fdtable().

    This commit prevents this false positive by checking for a single-threaded
    process. To avoid #include hell, this commit uses the wrapper for
    thread_group_empty(current) defined by rcu_my_thread_group_empty()
    provided in a separate commit.

    Located-by: Miles Lane
    Located-by: Eric Dumazet
    Signed-off-by: Paul E. McKenney
    Cc: Al Viro
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Paul E. McKenney
     
  • System will crash sooner or later once the memory with the code of the
    s3c-sdhci.ko module is reused for something else. I really have no idea
    how the lack of remove function went unnoticed into the mainline code.

    Signed-off-by: Marek Szyprowski
    Signed-off-by: Kyungmin Park
    Cc:
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Marek Szyprowski
     
  • My Collabora address is no longer enabled - update the MODULE_AUTHOR
    fields of drivers to my current email address.

    Signed-off-by: Andres Salomon
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Andres Salomon
     
  • Borislav Petkov reported his 32bit numa system has problem:

    [ 0.000000] Reserving total of 4c00 pages for numa KVA remap
    [ 0.000000] kva_start_pfn ~ 32800 max_low_pfn ~ 375fe
    [ 0.000000] max_pfn = 238000
    [ 0.000000] 8202MB HIGHMEM available.
    [ 0.000000] 885MB LOWMEM available.
    [ 0.000000] mapped low ram: 0 - 375fe000
    [ 0.000000] low ram: 0 - 375fe000
    [ 0.000000] alloc (nid=8 100000 - 7ee00000) (1000000 - ffffffff) 1000 1000 => 34e7000
    [ 0.000000] alloc (nid=8 100000 - 7ee00000) (1000000 - ffffffff) 200 40 => 34c9d80
    [ 0.000000] alloc (nid=0 100000 - 7ee00000) (1000000 - ffffffffffffffff) 180 40 => 34e6140
    [ 0.000000] alloc (nid=1 80000000 - c7e60000) (1000000 - ffffffffffffffff) 240 40 => 80000000
    [ 0.000000] BUG: unable to handle kernel paging request at 40000000
    [ 0.000000] IP: [] __alloc_memory_core_early+0x147/0x1d6
    [ 0.000000] *pdpt = 0000000000000000 *pde = f000ff53f000ff00
    ...
    [ 0.000000] Call Trace:
    [ 0.000000] [] ? __alloc_bootmem_node+0x216/0x22f
    [ 0.000000] [] ? sparse_early_usemaps_alloc_node+0x5a/0x10b
    [ 0.000000] [] ? sparse_init+0x1dc/0x499
    [ 0.000000] [] ? paging_init+0x168/0x1df
    [ 0.000000] [] ? native_pagetable_setup_start+0xef/0x1bb

    looks like it allocates too much high address for bootmem.

    Try to cut limit with get_max_mapped()

    Reported-by: Borislav Petkov
    Tested-by: Conny Seidel
    Signed-off-by: Yinghai Lu
    Cc: [2.6.34.x]
    Cc: Ingo Molnar
    Cc: "H. Peter Anvin"
    Cc: Thomas Gleixner
    Cc: Johannes Weiner
    Cc: Lee Schermerhorn
    Cc: Mel Gorman
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Yinghai Lu
     
  • Commit e534c7c5f8d6 ("numa: x86_64: use generic percpu var
    numa_node_id() implementation") broke numa systems that don't have ram
    on node0 when MEMORY_HOTPLUG is enabled, because cpu_up() will call
    cpu_to_node() before per_cpu(numa_node) is setup for APs.

    When Node0 doesn't have RAM, on x86, cpus already round it to nearest
    node with RAM in x86_cpu_to_node_map. and per_cpu(numa_node) is not set
    up until in c_init for APs.

    When later cpu_up() calling cpu_to_node() will get 0 again, and make it
    online even there is no RAM on node0. so later all APs can not booted up,
    and later will have panic.

    [ 1.611101] On node 0 totalpages: 0
    .........
    [ 2.608558] On node 0 totalpages: 0
    [ 2.612065] Brought up 1 CPUs
    [ 2.615199] Total of 1 processors activated (3990.31 BogoMIPS).
    ...
    93.225341] calling loop_init+0x0/0x1a4 @ 1
    [ 93.229314] PERCPU: allocation failed, size=80 align=8, failed to populate
    [ 93.246539] Pid: 1, comm: swapper Tainted: G W 2.6.35-rc4-tip-yh-04371-gd64e6c4-dirty #354
    [ 93.264621] Call Trace:
    [ 93.266533] [] pcpu_alloc+0x83a/0x8e7
    [ 93.270710] [] __alloc_percpu+0x10/0x12
    [ 93.285849] [] alloc_disk_node+0x94/0x16d
    [ 93.291811] [] alloc_disk+0x11/0x13
    [ 93.306157] [] loop_alloc+0xa7/0x180
    [ 93.310538] [] loop_init+0x9b/0x1a4
    [ 93.324909] [] ? loop_init+0x0/0x1a4
    [ 93.329650] [] do_one_initcall+0x57/0x136
    [ 93.345197] [] kernel_init+0x184/0x20e
    [ 93.348146] [] kernel_thread_helper+0x4/0x10
    [ 93.365194] [] ? restore_args+0x0/0x30
    [ 93.369305] [] ? kernel_init+0x0/0x20e
    [ 93.386011] [] ? kernel_thread_helper+0x0/0x10
    [ 93.392047] loop: out of memory
    ...

    Try to assign per_cpu(numa_node) early

    [akpm@linux-foundation.org: tidy up code comment]
    Signed-off-by: Yinghai
    Cc: Thomas Gleixner
    Cc: Ingo Molnar
    Cc: "H. Peter Anvin"
    Cc: Tejun Heo
    Cc: Denys Vlasenko
    Acked-by: Lee Schermerhorn
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Yinghai Lu
     
  • Simply add a proper ID into the device table.

    Signed-off-by: Anton Vorontsov
    Cc: Doug Thompson
    Cc: Peter Tyser
    Cc: Dave Jiang
    Cc: Kumar Gala
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Anton Vorontsov
     
  • Since commit 5753c082f66eca5be81f6bda85c1718c5eea6ada ("powerpc/85xx:
    Kconfig cleanup"), there is no MPC85xx Kconfig symbol anymore, so the
    driver became non-selectable.

    This patch fixes the issue by switching to PPC_85xx symbol.

    Signed-off-by: Anton Vorontsov
    Cc: Doug Thompson
    Cc: Peter Tyser
    Cc: Dave Jiang
    Cc: Kumar Gala
    Cc:
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Anton Vorontsov
     
  • We need lock_page_nosync() here because we have no reference to the
    mapping when taking the page lock.

    Signed-off-by: Nick Piggin
    Reviewed-by: Johannes Weiner
    Cc: Mel Gorman
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Nick Piggin
     
  • The last change to improve the scalability moved the actual wake-up out of
    the section that is protected by spin_lock(sma->sem_perm.lock).

    This means that IN_WAKEUP can be in queue.status even when the spinlock is
    acquired by the current task. Thus the same loop that is performed when
    queue.status is read without the spinlock acquired must be performed when
    the spinlock is acquired.

    Thanks to kamezawa.hiroyu@jp.fujitsu.com for noticing lack of the memory
    barrier.

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

    [akpm@linux-foundation.org: clean up kerneldoc, checkpatch warning and whitespace]
    Signed-off-by: Manfred Spraul
    Reported-by: Luca Tettamanti
    Tested-by: Luca Tettamanti
    Reported-by: Christoph Lameter
    Cc: Maciej Rutecki
    Cc: KAMEZAWA Hiroyuki
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Manfred Spraul
     
  • this fixes a regression since the fbcon rework.

    Signed-off-by: Francisco Jerez
    Signed-off-by: Ben Skeggs
    Signed-off-by: Dave Airlie

    Francisco Jerez
     
  • On nv50 it became impossible to attempt a PCI ROM shadow of the VBIOS,
    which will break some setups.

    This patch also removes the different ordering of shadow methods for
    pre-nv50 chipsets. The reason for the different ordering was paranoia,
    but it should hopefully be OK to try shadowing PRAMIN first.

    Signed-off-by: Ben Skeggs
    Signed-off-by: Dave Airlie

    Ben Skeggs
     
  • This fixes a regression caused by b2ea4aa67bfd084834edd070e0a4a47857d6db59
    due to the way shared ddc with multiple digital connectors was handled.

    You generally have two cases where DDC lines are shared:
    - HDMI + VGA
    - HDMI + DVI-D

    HDMI + VGA is easy to deal with because you can check the EDID for the
    to see if the attached monitor is digital. A shared DDC line with two
    digital connectors is more complex. You can't use the hdmi bits in the
    EDID since they may not be there with DVIHDMI adapters. In this case
    all we can do is check the HPD pins to see which is connected as we have
    no way of knowing using the EDID.

    Reported-by: trapdoor6@gmail.com
    Signed-off-by: Alex Deucher
    Cc: stable@kernel.org
    Signed-off-by: Dave Airlie

    Alex Deucher
     
  • Having both IO-mapping.txt and io-mapping.txt in Documentation/
    was confusing and/or bothersome to some people, so rename
    IO-mapping.txt to bus-virt-phys-mapping.txt. Also update
    Documentation/00-INDEX for both of these files.

    Signed-off-by: Randy Dunlap
    Cc: Kees Bakker
    Cc: Keith Packard

    Randy Dunlap
     

20 Jul, 2010

11 commits