07 Oct, 2008

1 commit


06 Oct, 2008

2 commits


04 Oct, 2008

4 commits


03 Oct, 2008

2 commits

  • The previous patch db203d53d474aa068984e409d807628f5841da1b ("mm:
    tiny-shmem fix lock ordering: mmap_sem vs i_mutex") to fix the lock
    ordering in tiny-shmem breaks shared anonymous and IPC memory on NOMMU
    architectures because it was using the expanding truncate to signal ramfs
    to allocate a physically contiguous RAM backing the inode (otherwise it is
    unusable for "memory mapping" it to userspace).

    However do_truncate is what caused the lock ordering error, due to it
    taking i_mutex. In this case, we can actually just call ramfs directly to
    allocate memory for the mapping, rather than go via truncate.

    Acked-by: David Howells
    Acked-by: Hugh Dickins
    Signed-off-by: Nick Piggin
    Cc: Matt Mackall
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Nick Piggin
     
  • Fix inotify lock order reversal with mmap_sem due to holding locks over
    copy_to_user.

    Signed-off-by: Nick Piggin
    Reported-by: "Daniel J Blueman"
    Tested-by: "Daniel J Blueman"
    Cc: Ingo Molnar
    Cc: Peter Zijlstra
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Nick Piggin
     

02 Oct, 2008

1 commit

  • * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6:
    af_key: Free dumping state on socket close
    XFRM,IPv6: initialize ip6_dst_blackhole_ops.kmem_cachep
    ipv6: NULL pointer dereferrence in tcp_v6_send_ack
    tcp: Fix NULL dereference in tcp_4_send_ack()
    sctp: Fix kernel panic while process protocol violation parameter
    iucv: Fix mismerge again.
    ipsec: Fix pskb_expand_head corruption in xfrm_state_check_space

    Linus Torvalds
     

30 Sep, 2008

2 commits

  • …el/git/tip/linux-2.6-tip

    * 'timers-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:
    hrtimer: prevent migration of per CPU hrtimers
    hrtimer: mark migration state
    hrtimer: fix migration of CB_IRQSAFE_NO_SOFTIRQ hrtimers
    hrtimer: migrate pending list on cpu offline

    Acked-by: Paul E. McKenney <paulmck@linux.vnet.ibm.com>
    Acked-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
    Tested-by: Paul E. McKenney <paulmck@linux.vnet.ibm.com>

    Linus Torvalds
     
  • Since call to function sctp_sf_abort_violation() need paramter 'arg' with
    'struct sctp_chunk' type, it will read the chunk type and chunk length from
    the chunk_hdr member of chunk. But call to sctp_sf_violation_paramlen()
    always with 'struct sctp_paramhdr' type's parameter, it will be passed to
    sctp_sf_abort_violation(). This may cause kernel panic.

    sctp_sf_violation_paramlen()
    |-- sctp_sf_abort_violation()
    |-- sctp_make_abort_violation()

    This patch fixed this problem. This patch also fix two place which called
    sctp_sf_violation_paramlen() with wrong paramter type.

    Signed-off-by: Wei Yongjun
    Signed-off-by: Vlad Yasevich
    Signed-off-by: David S. Miller

    Wei Yongjun
     

29 Sep, 2008

2 commits

  • Impact: per CPU hrtimers can be migrated from a dead CPU

    The hrtimer code has no knowledge about per CPU timers, but we need to
    prevent the migration of such timers and warn when such a timer is
    active at migration time.

    Explicitely mark the timers as per CPU and use a more understandable
    mode descriptor for the interrupts safe unlocked callback mode, which
    is used by hrtimer_sleeper and the scheduler code.

    Signed-off-by: Thomas Gleixner

    Thomas Gleixner
     
  • Impact: during migration active hrtimers can be seen as inactive

    The migration code removes the hrtimers from the queues of the dead
    CPU and sets the state temporary to INACTIVE. The enqueue code sets it
    to ACTIVE/PENDING again.

    Prevent that the wrong state can be seen by using a separate migration
    state bit.

    Signed-off-by: Thomas Gleixner

    Thomas Gleixner
     

26 Sep, 2008

2 commits


25 Sep, 2008

4 commits


24 Sep, 2008

3 commits

  • When we use > 4KB's page size the original definition is not consistent
    with PGDIR_SIZE. For exeample, if we use 16KB page size the PGDIR_SHIFT is
    (14-2) + 14 = 26, PGDIR_SIZE is 2^26,so the PTRS_PER_PGD should be:

    2^32/2^26 = 2^6

    but the original definition of PTRS_PER_PGD is 4096 (PGDIR_ORDER = 0).

    So, this definition needs to be consistent with the PGDIR_SIZE.

    And the new definition is consistent with the PGD init in pagetable_init().

    Signed-off-by: Dajie Tan
    Signed-off-by: Ralf Baechle

    Jack Tan
     
  • …el/git/tip/linux-2.6-tip

    * 'timers-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:
    timers: fix build error in !oneshot case
    x86: c1e_idle: don't mark TSC unstable if CPU has invariant TSC
    x86: prevent C-states hang on AMD C1E enabled machines
    clockevents: prevent mode mismatch on cpu online
    clockevents: check broadcast device not tick device
    clockevents: prevent stale tick_next_period for onlining CPUs
    x86: prevent stale state of c1e_mask across CPU offline/online
    clockevents: prevent cpu online to interfere with nohz

    Linus Torvalds
     
  • * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jbarnes/pci-2.6:
    PCI: fix compiler warnings in pci_get_subsys()
    PCI: Fix pcie_aspm=force

    Linus Torvalds
     

23 Sep, 2008

3 commits

  • linux/time.h conflicts with time.h from glibc

    It breaks building smbmount from samba. It's regression introduced by
    commit 76308da (" smb.h: uses struct timespec but didn't include
    linux/time.h").

    Signed-off-by: Kirill A. Shutemov
    Cc: [2.6.26.x]
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Kirill A. Shutemov
     
  • Impact: System hang when AMD C1E machines switch into C2/C3

    AMD C1E enabled systems do not work with normal ACPI C-states
    even if the BIOS is advertising them. Limit the C-states to
    C1 for the ACPI processor idle code.

    Signed-off-by: Thomas Gleixner

    Thomas Gleixner
     
  • Impact: hang which happens across CPU offline/online on AMD C1E systems.

    When a CPU goes offline then the corresponding bit in the broadcast
    mask is cleared. For AMD C1E enabled CPUs we do not reenable the
    broadcast when the CPU comes online again as we do not clear the
    corresponding bit in the c1e_mask, which keeps track which CPUs
    have been switched to broadcast already. So on those !$@#& machines
    we never switch back to broadcasting after a CPU offline/online cycle.

    Clear the bit when the CPU plays dead.

    Signed-off-by: Thomas Gleixner

    Thomas Gleixner
     

20 Sep, 2008

1 commit


17 Sep, 2008

3 commits

  • this patch turns the netdev timeout WARN_ON_ONCE() into a WARN_ONCE(),
    so that the device and driver names are inside the warning message.
    This helps automated tools like kerneloops.org to collect the data
    and do statistics, as well as making it more likely that humans
    cut-n-paste the important message as part of a bugreport.

    Signed-off-by: Arjan van de Ven
    Signed-off-by: Linus Torvalds

    Arjan van de Ven
     
  • This fill fix the following regression list entry:

    Bug-Entry : http://bugzilla.kernel.org/show_bug.cgi?id=11276
    Subject : build error: CONFIG_OPTIMIZE_INLINING=y causes gcc 4.2 to do stupid things
    Submitter : Randy Dunlap
    Date : 2008-08-06 17:18 (38 days old)
    References : http://marc.info/?l=linux-kernel&m=121804329014332&w=4
    http://lkml.org/lkml/2008/7/22/353
    Handled-By : Bjorn Helgaas
    Patch : http://lkml.org/lkml/2008/7/22/364

    with what I believe is a better fix than the one referenced
    in the regression entry above.

    These PNP header interfaces try to work in such a way that
    you can reference some of them even if PNP is not enabled,
    and the compiler was expected to optimize everything away.

    Which is mostly fine, except that there was one interface
    for which there was not provided an inline "NOP" implementation.

    Once we add that, all of these compile failures cannot handle
    any more.

    pnp: Provide NOP inline implementation of pnp_get_resource() when !PNP

    Fixes kernel bugzilla #11276.

    Signed-off-by: David S. Miller
    Signed-off-by: Linus Torvalds

    David Miller
     
  • pci_get_subsys() changed in 2.6.26 so that the from pointer is modified
    when the call is being invoked, so fix up the 'const' marking of it that
    the compiler is complaining about.

    Reported-by: Rufus & Azrael
    Signed-off-by: Greg Kroah-Hartman
    Signed-off-by: Jesse Barnes

    Greg KH
     

16 Sep, 2008

1 commit

  • Byte swap the addresses in the page list for fast register work requests
    to big endian to match what the HCA expectx. Also, the addresses must
    have the "present" bit set so that the HCA knows it can access them.
    Otherwise the HCA will fault the first time it accesses the memory
    region.

    Signed-off-by: Vladimir Sokolovsky
    Signed-off-by: Roland Dreier

    Vladimir Sokolovsky
     

01 Aug, 2008

1 commit


30 Jul, 2008

8 commits

  • When compiled with CONFIG_SND_DYNAMIC_MINORS the ALSA core is fine
    to have more than 8 PCM devices per card, except one place - the
    SNDRV_CTL_IOCTL_PCM_NEXT_DEVICE ioctl, which will not enumerate
    devices > 7. This patch fixes the issue, changing the devices list
    organisation.

    Instead of adding new device to the tail, the list is now kept always
    ordered (by card number, then device number). Thus, during enumeration,
    it is easy to discover the fact that there is no more given card's
    devices. The same limit was present in OSS emulation code. It has
    been fixed as well.

    Additionally the device field of struct snd_pcm is now int, instead of
    unsigned int, as there is no obvious reason for keeping it unsigned.
    This caused a lot of problems with comparing this value with other
    (almost always signed) variables. There is just one more place where
    device number is unsigned - in struct snd_pcm_info, which should be
    also sorted out in future.

    Signed-off-by: Pawel MOLL
    Signed-off-by: Jaroslav Kysela

    Pawel MOLL
     
  • ASOC: convert use of uint to unsigned int

    Signed-off-by: Jon Smirl
    Acked-by: Mark Brown
    Signed-off-by: Takashi Iwai
    Signed-off-by: Jaroslav Kysela

    Jon Smirl
     
  • The OpenFirmware API headers don't build on all platforms so ensure
    that they are not included unless they are being used.

    Signed-off-by: Mark Brown
    Acked-by: Grant Likely
    Signed-off-by: Takashi Iwai
    Signed-off-by: Jaroslav Kysela

    Mark Brown
     
  • Simple utility layer for creating ASoC machine instances based on data
    in the OpenFirmware device tree. OF aware platform drivers and codec
    drivers register themselves with this framework and the framework
    automatically instantiates a machine driver. At the moment, the driver
    is not very capable and it is expected to be extended as more features
    are needed for specifying the configuration in the device tree.

    This is most likely temporary glue code to work around limitations in
    the ASoC v1 framework. When v2 is merged, most of this driver will
    need to be reworked.

    Signed-off-by: Grant Likely
    Signed-off-by: Mark Brown
    Signed-off-by: Takashi Iwai
    Signed-off-by: Jaroslav Kysela

    Grant Likely
     
  • Most of the ASoC controls refer to the maximum value that can be set for
    a control as mask but there is no actual requirement for all bits to be
    set at the highest possible value making the name mask misleading.
    Change the code to use max instead.

    Signed-off-by: Jon Smirl
    Signed-off-by: Mark Brown
    Signed-off-by: Takashi Iwai
    Signed-off-by: Jaroslav Kysela

    Jon Smirl
     
  • Convert bitfields in ASoC into full int width. This is a
    simple mechanical conversion. Two places in the DAPM code
    were fixed to properly use mask.

    Signed-off-by: Jon Smirl
    Signed-off-by: Mark Brown
    Signed-off-by: Takashi Iwai
    Signed-off-by: Jaroslav Kysela

    Jon Smirl
     
  • Some codecs have unusual features in their register maps such as very
    large registers representing arrays of coefficients. Support these
    codecs in the register cache sysfs file by allowing them to provide a
    function register_display() overriding the default output for register
    contents.

    Also ensure that we don't overflow PAGE_SIZE while writing out the
    register dump.

    Signed-off-by: Mark Brown
    Signed-off-by: Takashi Iwai
    Signed-off-by: Jaroslav Kysela

    Mark Brown
     
  • Currently very few systems provide information about jack status to user
    space, even though many have hardware facilities to do detection. Those
    systems that do use an input device with the existing SW_HEADPHONE_INSERT
    switch type to do so, often independently of ALSA.

    This patch introduces a standard method for representing jacks to user
    space into ALSA. It allows drivers to register jacks for a sound card with
    the input subsystem, binding the input device to the card to help user
    space associate the input devices with their sound cards. The created
    input devices are named in the form "card longname jack" where jack is
    provided by the driver when allocating a jack. By default the parent for
    the input device is the sound card but this can be overridden by the
    card driver.

    The existing user space API with SW_HEADPHONE_INSERT is preserved.

    Signed-off-by: Mark Brown
    Signed-off-by: Takashi Iwai
    Signed-off-by: Jaroslav Kysela

    Mark Brown