01 Apr, 2011

1 commit

  • After a crash dump on an SGI Altix UV system the crash kernel
    fails to cause a reboot. EFI mode is disabled in the kdump
    kernel, so only the reboot_type of BOOT_ACPI works.

    Signed-off-by: Cliff Wickman
    Cc: rja@sgi.com
    LKML-Reference:
    Signed-off-by: Ingo Molnar

    Cliff Wickman
     

31 Mar, 2011

2 commits

  • With increasing number of PCI function ids, add the PCI function
    id in the define name instead of its symbolic name in the BKDG
    for more clarity. This renames function 4 define.

    Signed-off-by: Borislav Petkov
    Cc: Jesse Barnes
    LKML-Reference:
    Signed-off-by: Ingo Molnar

    Borislav Petkov
     
  • This is further fallout from delay.h removal from asm/apic.h and asm/dma.h:

    ca444564a947: x86: Stop including in two asm header files

    Which caused this build failure:

    sound/soc/codecs/sn95031.c: In function ‘sn95031_get_mic_bias’:
    sound/soc/codecs/sn95031.c:153:2: error: implicit declaration of function ‘msleep’ [-Werror=implicit-function-declaration]

    Cc: Jean Delvare
    Cc: James E.J. Bottomley
    Cc: Geert Uytterhoeven
    Cc: Stephen Rothwell
    LKML-Reference:
    Signed-off-by: Ingo Molnar

    Ingo Molnar
     

30 Mar, 2011

1 commit

  • On laptops with core i5/i7, there were reports that after resume
    graphics workloads were performing poorly on a specific AP, while
    the other cpu's were ok. This was observed on a 32bit kernel
    specifically.

    Debug showed that the PAT init was not happening on that AP
    during resume and hence it contributing to the poor workload
    performance on that cpu.

    On this system, resume flow looked like this:

    1. BP starts the resume sequence and we reinit BP's MTRR's/PAT
    early on using mtrr_bp_restore()

    2. Resume sequence brings all AP's online

    3. Resume sequence now kicks off the MTRR reinit on all the AP's.

    4. For some reason, between point 2 and 3, we moved from BP
    to one of the AP's. My guess is that printk() during resume
    sequence is contributing to this. We don't see similar
    behavior with the 64bit kernel but there is no guarantee that
    at this point the remaining resume sequence (after AP's bringup)
    has to happen on BP.

    5. set_mtrr() was assuming that we are still on BP and skipped the
    MTRR/PAT init on that cpu (because of 1 above)

    6. But we were on an AP and this led to not reprogramming PAT
    on this cpu leading to bad performance.

    Fix this by doing unconditional mtrr_if->set_all() in set_mtrr()
    during MTRR/PAT init. This might be unnecessary if we are still
    running on BP. But it is of no harm and will guarantee that after
    resume, all the cpu's will be in sync with respect to the
    MTRR/PAT registers.

    Signed-off-by: Suresh Siddha
    LKML-Reference:
    Signed-off-by: Eric Anholt
    Tested-by: Keith Packard
    Cc: stable@kernel.org [v2.6.32+]
    Signed-off-by: H. Peter Anvin

    Suresh Siddha
     

29 Mar, 2011

27 commits

  • Currently, microcode doesn't unregister syscore_ops after it's
    unloaded. So if we modprobe then rmmod microcode, the stale
    microcode syscore_ops info will stay on syscore_ops_list.

    Later when we're trying to reboot/halt/shutdown the machine, kernel
    will panic on syscore_shutdown().

    With the patch applied, I can reboot/halt/shutdown my machine successfully.

    Signed-off-by: Xiaotian Feng
    Cc: Tigran Aivazian
    Cc: Rafael J. Wysocki
    LKML-Reference:
    Signed-off-by: Ingo Molnar

    Xiaotian Feng
     
  • Stop including in x86 header files which don't
    need it. This will let the compiler complain when this header is
    not included by source files when it should, so that
    contributors can fix the problem before building on other
    architectures starts to fail.

    Credits go to Geert for the idea.

    Signed-off-by: Jean Delvare
    Cc: James E.J. Bottomley
    Cc: Geert Uytterhoeven
    Cc: Stephen Rothwell
    LKML-Reference:
    [ this also fixes an upstream build bug in drivers/media/rc/ite-cir.c ]
    Signed-off-by: Ingo Molnar

    Jean Delvare
     
  • We incorrectly returned -EINVAL when none of the devices in the array
    had an integrity profile. This in turn prevented mdadm from starting
    the metadevice. Fix this so we only return errors on mismatched
    profiles and memory allocation failures.

    Reported-by: Giacomo Catenazzi
    Reported-by: Thomas Gleixner
    Signed-off-by: Martin K. Petersen
    Signed-off-by: Linus Torvalds

    Martin K. Petersen
     
  • …s/security-testing-2.6

    * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jmorris/security-testing-2.6:
    selinux: Fix regression for Xorg

    Linus Torvalds
     
  • MFD changes in 4ec1b54c ('mfd: mfd_cell is now implicitly available to
    mc13xxx drivers') changed the mc13xxx_platform_data struct layout.

    At the time all users were changed, but this driver was introduced in
    another tree at the same time. This updates the mc13xxx_platform_data
    user, fixing a build error.

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

    Andres Salomon
     
  • …rnel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip

    * 'irq-cleanup-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:
    vlynq: Convert irq functions

    * 'irq-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:
    genirq; Fix cleanup fallout
    genirq: Fix typo and remove unused variable
    genirq: Fix new kernel-doc warnings
    genirq: Add setter for AFFINITY_SET in irq_data state
    genirq: Provide setter inline for IRQD_IRQ_INPROGRESS
    genirq: Remove handle_IRQ_event
    arm: Ns9xxx: Remove private irq flow handler
    powerpc: cell: Use the core flow handler
    genirq: Provide edge_eoi flow handler
    genirq: Move INPROGRESS, MASKED and DISABLED state flags to irq_data
    genirq: Split irq_set_affinity() so it can be called with lock held.
    genirq: Add chip flag for restricting cpu_on/offline calls
    genirq: Add chip hooks for taking CPUs on/off line.
    genirq: Add irq disabled flag to irq_data state
    genirq: Reserve the irq when calling irq_set_chip()

    Linus Torvalds
     
  • I missed the CONFIG_GENERIC_PENDING_IRQ dependency in the affinity
    related functions and the IRQ_LEVEL propagation into irq_data
    state. Did not pop up on my main test platforms. :(

    Signed-off-by: Thomas Gleixner
    Tested-by: David Daney

    Thomas Gleixner
     
  • Commit 6f5317e730505d5cbc851c435a2dfe3d5a21d343 introduced a bug in the
    handling of userspace object classes that is causing breakage for Xorg
    when XSELinux is enabled. Fix the bug by changing map_class() to return
    SECCLASS_NULL when the class cannot be mapped to a kernel object class.

    Reported-by: "Justin P. Mattock"
    Signed-off-by: Stephen Smalley
    Signed-off-by: James Morris

    Stephen Smalley
     
  • Fixes this build error:

    drivers/memstick/host/r592.c:26: error: 'enable_dma' redeclared as different kind of symbol
    arch/powerpc/include/asm/dma.h:189: note: previous definition of 'enable_dma' was here

    Signed-off-by: Stephen Rothwell
    Cc: Andrew Morton
    Cc: FUJITA Tomonori
    Cc: Alex Dubov
    Acked-by: Maxim Levitsky
    Signed-off-by: Linus Torvalds

    Stephen Rothwell
     
  • * 'for-linus' of git://oss.sgi.com/xfs/xfs:
    xfs: stop using the page cache to back the buffer cache
    xfs: register the inode cache shrinker before quotachecks
    xfs: xfs_trans_read_buf() should return an error on failure
    xfs: introduce inode cluster buffer trylocks for xfs_iflush
    vmap: flush vmap aliases when mapping fails
    xfs: preallocation transactions do not need to be synchronous

    Fix up trivial conflicts in fs/xfs/linux-2.6/xfs_buf.c due to plug removal.

    Linus Torvalds
     
  • Commit da48524eb206 ("Prevent rt_sigqueueinfo and rt_tgsigqueueinfo
    from spoofing the signal code") made the check on si_code too strict.
    There are several legitimate places where glibc wants to queue a
    negative si_code different from SI_QUEUE:

    - This was first noticed with glibc's aio implementation, which wants
    to queue a signal with si_code SI_ASYNCIO; the current kernel
    causes glibc's tst-aio4 test to fail because rt_sigqueueinfo()
    fails with EPERM.

    - Further examination of the glibc source shows that getaddrinfo_a()
    wants to use SI_ASYNCNL (which the kernel does not even define).
    The timer_create() fallback code wants to queue signals with SI_TIMER.

    As suggested by Oleg Nesterov , loosen the check to
    forbid only the problematic SI_TKILL case.

    Reported-by: Klaus Dittrich
    Acked-by: Julien Tinnes
    Cc:
    Signed-off-by: Roland Dreier
    Signed-off-by: Linus Torvalds

    Roland Dreier
     
  • * 'for-linus' of git://www.jni.nu/cris:
    Correct auto-restart of syscalls via restartblock
    CRISv10: Fix return before mutex_unlock in pcf8563
    Drop the CRISv32 version of pcf8563

    Linus Torvalds
     
  • * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/ecryptfs/ecryptfs-2.6:
    eCryptfs: write lock requested keys
    eCryptfs: move ecryptfs_find_auth_tok_for_sig() call before mutex_lock
    eCryptfs: verify authentication tokens before their use
    eCryptfs: modified size of keysig in the ecryptfs_key_sig structure
    eCryptfs: removed num_global_auth_toks from ecryptfs_mount_crypt_stat
    eCryptfs: ecryptfs_keyring_auth_tok_for_sig() bug fix
    eCryptfs: Unlock page in write_begin error path
    ecryptfs: modify write path to encrypt page in writepage
    eCryptfs: Remove ECRYPTFS_NEW_FILE crypt stat flag
    eCryptfs: Remove unnecessary grow_file() function

    Linus Torvalds
     
  • …it/mason/btrfs-unstable

    * 'for-linus-unmerged' of git://git.kernel.org/pub/scm/linux/kernel/git/mason/btrfs-unstable: (45 commits)
    Btrfs: fix __btrfs_map_block on 32 bit machines
    btrfs: fix possible deadlock by clearing __GFP_FS flag
    btrfs: check link counter overflow in link(2)
    btrfs: don't mess with i_nlink of unlocked inode in rename()
    Btrfs: check return value of btrfs_alloc_path()
    Btrfs: fix OOPS of empty filesystem after balance
    Btrfs: fix memory leak of empty filesystem after balance
    Btrfs: fix return value of setflags ioctl
    Btrfs: fix uncheck memory allocations
    btrfs: make inode ref log recovery faster
    Btrfs: add btrfs_trim_fs() to handle FITRIM
    Btrfs: adjust btrfs_discard_extent() return errors and trimmed bytes
    Btrfs: make btrfs_map_block() return entire free extent for each device of RAID0/1/10/DUP
    Btrfs: make update_reserved_bytes() public
    btrfs: return EXDEV when linking from different subvolumes
    Btrfs: Per file/directory controls for COW and compression
    Btrfs: add datacow flag in inode flag
    btrfs: use GFP_NOFS instead of GFP_KERNEL
    Btrfs: check return value of read_tree_block()
    btrfs: properly access unaligned checksum buffer
    ...

    Fix up trivial conflicts in fs/btrfs/volumes.c due to plug removal in
    the block layer.

    Linus Torvalds
     
  • * 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mjg59/platform-drivers-x86: (81 commits)
    xo15-ebook: Remove device.wakeup_count
    ips: use interruptible waits in ips-monitor
    acer-wmi: does not poll device status when WMI event is available
    acer-wmi: does not set persistence state by rfkill_init_sw_state
    platform-drivers: x86: fix common misspellings
    acer-wmi: use pr_ for messages
    asus-wmi: potential NULL dereference in show_call()
    asus-wmi: signedness bug in read_brightness()
    platform-driver-x86: samsung-laptop: make dmi_check_cb to return 1 instead of 0
    platform-driver-x86: fix wrong merge for compal-laptop.c
    msi-laptop: use pr_ for messages
    Platform: add Samsung Laptop platform driver
    acer-wmi: Fix WMI ID
    acer-wmi: deactive mail led when power off
    msi-laptop: send out touchpad on/off key
    acer-wmi: set the touchpad toggle key code to KEY_TOUCHPAD_TOGGLE
    platform-driver-x86: intel_mid_thermal: fix unterminated platform_device_id table
    sony-laptop: potential null dereference
    sony-laptop: handle allocation failures
    sony-laptop: return negative on failure in sony_nc_add()
    ...

    Linus Torvalds
     
  • * 'for-torvalds' of git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-stericsson:
    mach-ux500: configure board for the TPS61052 regulator v2
    mach-ux500: provide ab8500 init vector
    mach-ux500: board support for AB8500 GPIO driver
    gpio: driver for 42 AB8500 GPIO pins

    Linus Torvalds
     
  • …git/kgene/linux-samsung

    * 's5p-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/kgene/linux-samsung:
    ARM: Suspend: Fix dependency of ARCH_SUSPEND_POSSIBLE
    ARM: SAMSUNG: Fix CPU idmask
    ARM: EXYNOS4: Fix addruart macro
    ARM: EXYNOS4: Fix smsc9215 irq polarity on SMDKC210
    ARM: EXYNOS4: Fix smsc9215 irq polarity on SMDKV310
    ARM: EXYNOS4: Fix build warning on regarding SATA_AHCI_PLATFORM
    ARM: S5PV210: Remove duplicated inclusion
    ARM: S5PV210: Fix security engine interrupt names
    ARM: S5P64X0: Fix iodesc array size for S5P6450

    Linus Torvalds
     
  • * git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6:
    crypto: aesni-intel - fixed problem with packets that are not multiple of 64bytes

    Linus Torvalds
     
  • * 'for-linus' of git://gitserver.sunplusct.com/linux-2.6-score:
    score: Use generic show_interrupts()
    score: Convert to new irq function names
    score: lost a semicolon in asm/irqflags.h
    score: Select GENERIC_HARDIRQS_NO_DEPRECATED
    score: Convert irq_chip to new functions

    Linus Torvalds
     
  • The acpi video driver attempts to explicitly create a sysfs link between
    the acpi device and the associated PCI device. However, we're now also
    doing this from the backlight core, which means that we get a backtrace
    caused by a duplicate file. Remove the code and leave it up to the
    backlight core.

    Reported-by: Jeff Chua
    Signed-off-by: Matthew Garrett
    Acked-by: Rafael J. Wysocki
    Tested-by: Alessandro Suardi
    Signed-off-by: Linus Torvalds

    Matthew Garrett
     
  • * 'upstream-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jlbec/ocfs2: (39 commits)
    Treat writes as new when holes span across page boundaries
    fs,ocfs2: Move o2net_get_func_run_time under CONFIG_OCFS2_FS_STATS.
    ocfs2/dlm: Move kmalloc() outside the spinlock
    ocfs2: Make the left masklogs compat.
    ocfs2: Remove masklog ML_AIO.
    ocfs2: Remove masklog ML_UPTODATE.
    ocfs2: Remove masklog ML_BH_IO.
    ocfs2: Remove masklog ML_JOURNAL.
    ocfs2: Remove masklog ML_EXPORT.
    ocfs2: Remove masklog ML_DCACHE.
    ocfs2: Remove masklog ML_NAMEI.
    ocfs2: Remove mlog(0) from fs/ocfs2/dir.c
    ocfs2: remove NAMEI from symlink.c
    ocfs2: Remove masklog ML_QUOTA.
    ocfs2: Remove mlog(0) from quota_local.c.
    ocfs2: Remove masklog ML_RESERVATIONS.
    ocfs2: Remove masklog ML_XATTR.
    ocfs2: Remove masklog ML_SUPER.
    ocfs2: Remove mlog(0) from fs/ocfs2/heartbeat.c
    ocfs2: Remove mlog(0) from fs/ocfs2/slot_map.c
    ...

    Fix up trivial conflict in fs/ocfs2/super.c

    Linus Torvalds
     
  • Sigh, I'm overworked.

    Signed-off-by: Thomas Gleixner

    Thomas Gleixner
     
  • Fix new irq-related kernel-doc warnings in 2.6.38:

    Warning(kernel/irq/manage.c:149): No description found for parameter 'mask'
    Warning(kernel/irq/manage.c:149): Excess function parameter 'cpumask' description in 'irq_set_affinity'
    Warning(include/linux/irq.h:161): No description found for parameter 'state_use_accessors'
    Warning(include/linux/irq.h:161): Excess struct/union/enum/typedef member 'state_use_accessor' description in 'irq_data'

    Signed-off-by: Randy Dunlap
    LKML-Reference:
    Signed-off-by: Thomas Gleixner

    Randy Dunlap
     
  • Convert to the new irq_chip functions and the new namespace.

    Signed-off-by: Thomas Gleixner
    Acked-by: Florian Fainelli
    LKML-Reference:

    Thomas Gleixner
     
  • When a hole spans across page boundaries, the next write forces
    a read of the block. This could end up reading existing garbage
    data from the disk in ocfs2_map_page_blocks. This leads to
    non-zero holes. In order to avoid this, mark the writes as new
    when the holes span across page boundaries.

    Signed-off-by: Goldwyn Rodrigues
    Signed-off-by: jlbec

    Goldwyn Rodrigues
     
  • Joel Becker
     
  • When CONFIG_DEBUG_FS=y and CONFIG_OCFS2_FS_STATS=n, we get the
    following warning:

    fs/ocfs2/cluster/tcp.c:213:16: warning: ‘o2net_get_func_run_time’
    defined but not used

    Since o2net_get_func_run_time is only called from
    o2net_update_recv_stats, so move it under CONFIG_OCFS2_FS_STATS.

    Signed-off-by: Rakib Mullick
    Signed-off-by: jlbec

    Rakib Mullick
     

28 Mar, 2011

9 commits

  • Some archs want to prevent the default affinity being set on their
    chips in the reqeust_irq() path.

    Signed-off-by: Thomas Gleixner

    Thomas Gleixner
     
  • Special function for demultiplexing handlers which can be disabled via
    disable_irq().

    Signed-off-by: Thomas Gleixner

    Thomas Gleixner
     
  • Last user gone.

    Signed-off-by: Thomas Gleixner

    Thomas Gleixner
     
  • handle_prio_irq is almost identical with handle_fasteoi_irq. The
    subtle differences are

    1) The handler checks for IRQ_DISABLED after the device handler has
    been called. In case it's set it masks the interrupt.

    2) When the handler sees IRQ_DISABLED on entry it masks the interupt
    in the same way as handle_fastoei_irq, but does not set the
    IRQ_PENDING flag.

    3) Instead of gracefully handling a recursive interrupt it crashes the
    kernel.

    #1 is just relevant when a device handler calls disable_irq_nosync()
    and it does not matter whether we mask the interrupt right away or
    not. We handle lazy masking for disable_irq anyway, so there is no
    real reason to have this extra mask in place.

    #2 will prevent the resend of a pending interrupt, which can result in
    lost interrupts for edge type interrupts. For level type interrupts
    the resend is a noop in the generic code. According to the
    datasheet all interrupts are level type, so marking them as such
    will result in the exact same behaviour as the private
    handle_prio_irq implementation.

    #3 is just stupid. Crashing the kernel instead of handling a problem
    gracefully is just wrong. With the current semantics- all handlers
    run with interrupts disabled - this is even more wrong.

    Rename ack to eoi, remove the unused mask_ack, switch to
    handle_fasteoi_irq and remove the private function.

    Signed-off-by: Thomas Gleixner
    Cc: Peter Zijlstra
    Acked-by: Uwe Kleine-Koenig
    Cc: linux-arm-kernel@lists.infradead.org
    LKML-Reference:

    Thomas Gleixner
     
  • The core handler is a full equivalent replacement.

    Signed-off-by: Thomas Gleixner

    Thomas Gleixner
     
  • This is a replacment for the cell flow handler which is in the way of
    cleanups. Must be selected to avoid general bloat.

    Signed-off-by: Thomas Gleixner

    Thomas Gleixner
     
  • We really need these flags for some of the interrupt chips. Move it
    from internal state to irq_data and provide proper accessors.

    Signed-off-by: Thomas Gleixner
    Cc: David Daney

    Thomas Gleixner
     
  • * 'bugfixes' of git://git.linux-nfs.org/projects/trondmy/nfs-2.6:
    NFS: Ensure that rpc_release_resources_task() can be called twice.
    NFS: Don't leak RPC clients in NFSv4 secinfo negotiation
    NFS: Fix a hang in the writeback path

    Linus Torvalds
     
  • Stephen ran into the following build error:

    drivers/mfd/cs5535-mfd.c:30:22: error: asm/olpc.h: No such file or directory

    olpc.h exists only on x86 (and in the future, ARM). Rather than
    wrapping the include in an #ifdef, just change cs5535-mfd to only build
    on x86.

    Reported-by: Stephen Rothwell
    Signed-off-by: Andres Salomon
    Signed-off-by: Linus Torvalds

    Andres Salomon