19 Feb, 2011

3 commits


18 Feb, 2011

2 commits

  • This patch re-enables UIE timer/polling emulation for rtc devices
    that do not support alarm irqs.

    CC: Uwe Kleine-König
    CC: Thomas Gleixner
    Reported-by: Uwe Kleine-König
    Tested-by: Uwe Kleine-König
    Signed-off-by: John Stultz

    John Stultz
     
  • Uwe pointed out that my alarm based UIE emulation is not sufficient
    to replace the older timer/polling based UIE emulation on devices
    where there is no alarm irq. This causes rtc devices without alarms
    to return -EINVAL to UIE ioctls. The fix is to re-instate the old
    timer/polling method for devices without alarm irqs.

    This patch reverts the following commits:
    042620a018afcfba1d678062b62e46 - Remove UIE emulation
    1daeddd5962acad1bea55e524fc0fa - Cleanup removed UIE emulation declaration
    b5cc8ca1c9c3a37eaddf709b2fd3e1 - Remove Kconfig symbol for UIE emulation

    The emulation mode will still need to be wired-in with a following
    patch before it will work.

    CC: Uwe Kleine-König
    CC: Thomas Gleixner
    Reported-by: Uwe Kleine-König
    Signed-off-by: John Stultz

    John Stultz
     

17 Feb, 2011

2 commits

  • * git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi-rc-fixes-2.6:
    [SCSI] qla2xxx: Return DID_NO_CONNECT when FC device is lost.
    [SCSI] mptfusion: Bump version 03.04.18
    [SCSI] mptfusion: Fix Incorrect return value in mptscsih_dev_reset
    [SCSI] mptfusion: mptctl_release is required in mptctl.c
    [SCSI] target: fix use after free detected by SLUB poison
    [SCSI] target: Remove procfs based target_core_mib.c code
    [SCSI] target: Fix SCF_SCSI_CONTROL_SG_IO_CDB breakage
    [SCSI] target: Fix top-level configfs_subsystem default_group shutdown breakage
    [SCSI] target: fixed missing lock drop in error path
    [SCSI] target: Fix demo-mode MappedLUN shutdown UA/PR breakage
    [SCSI] target/iblock: Fix failed bd claim NULL pointer dereference
    [SCSI] target: iblock/pscsi claim checking for NULL instead of IS_ERR
    [SCSI] scsi_debug: Fix 32-bit overflow in do_device_access causing memory corruption
    [SCSI] qla2xxx: Change from irq to irqsave with host_lock
    [SCSI] qla2xxx: Fix race that could hang kthread_stop()

    Linus Torvalds
     
  • There are two spellings in use for 'freeze' + 'able' - 'freezable' and
    'freezeable'. The former is the more prominent one. The latter is
    mostly used by workqueue and in a few other odd places. Unify the
    spelling to 'freezable'.

    Signed-off-by: Tejun Heo
    Reported-by: Alan Stern
    Acked-by: "Rafael J. Wysocki"
    Acked-by: Greg Kroah-Hartman
    Acked-by: Dmitry Torokhov
    Cc: David Woodhouse
    Cc: Alex Dubov
    Cc: "David S. Miller"
    Cc: Steven Whitehouse

    Tejun Heo
     

16 Feb, 2011

3 commits

  • Transparent hugepages can only be created if rmap is fully
    functional. So we must prevent hugepages to be created while
    is_vma_temporary_stack() is true.

    This also optmizes away some harmless but unnecessary setting of
    khugepaged_scan.address and it switches some BUG_ON to VM_BUG_ON.

    Signed-off-by: Andrea Arcangeli
    Acked-by: Rik van Riel
    Signed-off-by: Linus Torvalds

    Andrea Arcangeli
     
  • …/git/tip/linux-2.6-tip

    * 'perf-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:
    x86: Fix text_poke_smp_batch() deadlock
    perf tools: Fix thread_map event synthesizing in top and record
    watchdog, nmi: Lower the severity of error messages
    ARM: oprofile: Fix backtraces in timer mode
    oprofile: Fix usage of CONFIG_HW_PERF_EVENTS for oprofile_perf_init and friends

    Linus Torvalds
     
  • * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input:
    Input: matrix_keypad - increase the limit of rows and columns
    Input: wacom - fix error path in wacom_probe()
    Input: ads7846 - check proper condition when freeing gpio
    Revert "Input: do not pass injected events back to the originating handler"
    Input: sysrq - rework re-inject logic
    Input: serio - clear pending rescans after sysfs driver rebind
    Input: rotary_encoder - use proper irqflags
    Input: wacom_w8001 - report resolution to userland

    Linus Torvalds
     

15 Feb, 2011

1 commit


14 Feb, 2011

1 commit

  • Commit c0e69a5bbc6f ("klist.c: bit 0 in pointer can't be used as flag")
    intended to make sure that all klist objects were at least pointer size
    aligned, but used the constant "4" which only works on 32-bit.

    Use "sizeof(void *)" which is correct in all cases.

    Signed-off-by: David S. Miller
    Acked-by: Jesper Nilsson
    Cc: stable
    Cc: Greg Kroah-Hartman
    Signed-off-by: Linus Torvalds

    David Miller
     

13 Feb, 2011

2 commits

  • This patch moves a large number of memory release paths inside of the
    configfs callback target_core_hba_item_ops->release() called from
    within fs/configfs/item.c: config_item_cleanup() context. This patch
    resolves the SLUB 'Poison overwritten' warnings.

    Signed-off-by: Nicholas A. Bellinger
    Signed-off-by: James Bottomley

    Nicholas Bellinger
     
  • This patch removes the legacy procfs based target_core_mib.c code,
    and moves the necessary scsi_index_tables functions and defines into
    target_core_transport.c and target_core_base.h code to allow existing
    fabric independent statistics to function.

    This includes the removal of a handful of 'atomic_t mib_ref_count'
    counters used in struct se_node_acl, se_session and se_hba to prevent
    removal while using seq_list procfs walking logic.

    [jejb: fix up compile failures]
    Signed-off-by: Nicholas A. Bellinger
    Signed-off-by: James Bottomley

    Nicholas Bellinger
     

11 Feb, 2011

4 commits

  • Some keyboard controllers support more than 16 columns and rows.
    Increase the limit to 32.

    Signed-off-by: Trilok Soni
    Acked-by: Eric Miao
    Signed-off-by: Dmitry Torokhov

    Trilok Soni
     
  • Expand security_capable() to include cred, so that it can be usable in a
    wider range of call sites.

    Signed-off-by: Chris Wright
    Acked-by: Serge Hallyn
    Signed-off-by: James Morris

    Chris Wright
     
  • * 'usb-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb-2.6: (21 commits)
    USB: cdc-acm: Adding second ACM channel support for Nokia N8
    USB, Mass Storage, composite, gadget: Fix build failure and memset of a struct
    USB: Fix trout build failure with ci13xxx_msm gadget
    USB: EHCI: fix scheduling while atomic during suspend
    USB: usb-storage: unusual_devs entry for Coby MP3 player
    USB: ftdi_sio: Add VID=0x0647, PID=0x0100 for Acton Research spectrograph
    USB: fix race between root-hub resume and wakeup requests
    USB: prevent buggy hubs from crashing the USB stack
    usb: r8a66597-udc: Fixed bufnum of Bulk
    USB: ftdi_sio: add ST Micro Connect Lite uart support
    USB: Storage: Add unusual_devs entry for VTech Kidizoom
    USB SL811HS HCD: Fix memory leak in sl811h_urb_enqueue()
    USB: ti_usb: fix module removal
    USB: io_edgeport: fix the reported firmware major and minor
    usb: ehci-omap: Show fatal probing time errors to end user
    usb: musb: introduce api for dma code to check compatibility with usb request
    usb: musb: maintain three states for buffer mappings instead of two
    usb: musb: disable double buffering when it's broken
    usb: musb: hsdma: change back to use musb_read/writew
    usb: musb: core: fix IRQ check
    ...

    Linus Torvalds
     
  • * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6: (34 commits)
    virtio_net: Add schedule check to napi_enable call
    x25: Do not reference freed memory.
    pch_can: fix tseg1/tseg2 setting issue
    isdn: hysdn: Kill (partially buggy) CVS regision log reporting.
    can: softing_cs needs slab.h
    pch_gbe: Fix the issue which a driver locks when rx offload is set by ethtool
    netfilter: nf_conntrack: set conntrack templates again if we return NF_REPEAT
    pch_can: fix module reload issue with MSI
    pch_can: fix rmmod issue
    pch_can: fix 800k comms issue
    net: Fix lockdep regression caused by initializing netdev queues too early.
    net/caif: Fix dangling list pointer in freed object on error.
    USB CDC NCM errata updates for cdc_ncm host driver
    CDC NCM errata updates for cdc.h
    ixgbe: update version string
    ixgbe: cleanup variable initialization
    ixgbe: limit VF access to network traffic
    ixgbe: fix for 82599 erratum on Header Splitting
    ixgbe: fix variable set but not used warnings by gcc 4.6
    e1000: add support for Marvell Alaska M88E1118R PHY
    ...

    Linus Torvalds
     

10 Feb, 2011

1 commit


09 Feb, 2011

2 commits


07 Feb, 2011

2 commits


05 Feb, 2011

5 commits

  • The mask which filters out the valid bits which can be set via
    irq_modify_status() is missing IRQ_NO_BALANCING, which breaks UV.

    Add IRQ_PER_CPU as well to avoid another one line patch for 39.

    Signed-off-by: Thomas Gleixner

    Thomas Gleixner
     
  • * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6: (68 commits)
    net: can: janz-ican3: world-writable sysfs termination file
    net: can: at91_can: world-writable sysfs files
    MAINTAINERS: update email ids of the be2net driver maintainers.
    bridge: Don't put partly initialized fdb into hash
    r8169: prevent RxFIFO induced loops in the irq handler.
    r8169: RxFIFO overflow oddities with 8168 chipsets.
    r8169: use RxFIFO overflow workaround for 8168c chipset.
    include/net/genetlink.h: Allow genlmsg_cancel to accept a NULL argument
    net: Provide compat support for SIOCGETMIFCNT_IN6 and SIOCGETSGCNT_IN6.
    net: Support compat SIOCGETVIFCNT ioctl in ipv4.
    net: Fix bug in compat SIOCGETSGCNT handling.
    niu: Fix races between up/down and get_stats.
    tcp_ecn is an integer not a boolean
    atl1c: Add missing PCI device ID
    s390: Fix possibly wrong size in strncmp (smsgiucv)
    s390: Fix wrong size in memcmp (netiucv)
    qeth: allow OSA CHPARM change in suspend state
    qeth: allow HiperSockets framesize change in suspend
    qeth: add more strict MTU checking
    qeth: show new mac-address if its setting fails
    ...

    Linus Torvalds
     
  • This patch fixes the below compilation errors.

    CC drivers/usb/gadget/ci13xxx_msm.o
    CC net/mac80211/led.o
    drivers/usb/gadget/ci13xxx_msm.c: In function 'ci13xxx_msm_notify_event':
    drivers/usb/gadget/ci13xxx_msm.c:42: error: 'USB_AHBBURST' undeclared (first use in this function)
    drivers/usb/gadget/ci13xxx_msm.c:42: error: (Each undeclared identifier is reported only once
    drivers/usb/gadget/ci13xxx_msm.c:42: error: for each function it appears in.)
    drivers/usb/gadget/ci13xxx_msm.c:43: error: 'USB_AHBMODE' undeclared (first use in this function)
    make[4]: *** [drivers/usb/gadget/ci13xxx_msm.o] Error 1
    make[3]: *** [drivers/usb/gadget] Error 2

    MSM USB driver is not supported on boards like trout (MSM7201) which
    has an external PHY.

    Signed-off-by: Pavankumar Kondeti
    Signed-off-by: Greg Kroah-Hartman

    Pavankumar Kondeti
     
  • …t/rostedt/linux-2.6-trace into perf/urgent

    Ingo Molnar
     
  • * 'drm-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/airlied/drm-2.6: (27 commits)
    gpu/stub: fix acpi_video build error, fix stub kconfig dependencies
    drm/radeon/kms: dynamically allocate power state space
    drm/radeon/kms: fix s/r issues with bios scratch regs
    agp: ensure GART has an address before enabling it
    Revert "agp: AMD AGP is used on UP1100 & UP1500 alpha boxen"
    amd-k7-agp: remove non-x86 code
    drm/radeon/kms/evergreen: always set certain VGT regs at CP init
    drm/radeon/kms: add updated ib_execute function for evergreen
    drm/radeon: remove 0x4243 pci id
    drm/radeon/kms: Enable new pll calculation for avivo+ asics
    drm/radeon/kms: add new pll algo for avivo asics
    drm/radeon/kms: add pll debugging output
    drm/radeon/kms: switch back to min->max pll post divider iteration
    drm/radeon/kms: rv6xx+ thermal sensor fixes
    drm/nv50: fix display on 0x50
    drm/nouveau: correctly pair hwmon_init and hwmon_fini
    drm/i915: Only bind to function 0 of the PCI device
    drm/i915: Suppress spurious vblank interrupts
    drm: Avoid leak of adjusted mode along quick set_mode paths
    drm: Simplify and defend later checks when disabling a crtc
    ...

    Linus Torvalds
     

04 Feb, 2011

3 commits


03 Feb, 2011

7 commits

  • Currently the syscall_meta structures for the syscall tracepoints are
    placed in the __syscall_metadata section, and at link time, the linker
    makes one large array of all these syscall metadata structures. On boot
    up, this array is read (much like the initcall sections) and the syscall
    data is processed.

    The problem is that there is no guarantee that gcc will place complex
    structures nicely together in an array format. Two structures in the
    same file may be placed awkwardly, because gcc has no clue that they
    are suppose to be in an array.

    A hack was used previous to force the alignment to 4, to pack the
    structures together. But this caused alignment issues with other
    architectures (sparc).

    Instead of packing the structures into an array, the structures' addresses
    are now put into the __syscall_metadata section. As pointers are always the
    natural alignment, gcc should always pack them tightly together
    (otherwise initcall, extable, etc would also fail).

    By having the pointers to the structures in the section, we can still
    iterate the trace_events without causing unnecessary alignment problems
    with other architectures, or depending on the current behaviour of
    gcc that will likely change in the future just to tick us kernel developers
    off a little more.

    The __syscall_metadata section is also moved into the .init.data section
    as it is now only needed at boot up.

    Suggested-by: David Miller
    Acked-by: David S. Miller
    Cc: Mathieu Desnoyers
    Signed-off-by: Steven Rostedt

    Steven Rostedt
     
  • Make the tracepoints more robust, making them solid enough to handle compiler
    changes by not relying on anything based on compiler-specific behavior with
    respect to structure alignment. Implement an approach proposed by David Miller:
    use an array of const pointers to refer to the individual structures, and export
    this pointer array through the linker script rather than the structures per se.
    It will consume 32 extra bytes per tracepoint (24 for structure padding and 8
    for the pointers), but are less likely to break due to compiler changes.

    History:

    commit 7e066fb8 tracepoints: add DECLARE_TRACE() and DEFINE_TRACE()
    added the aligned(32) type and variable attribute to the tracepoint structures
    to deal with gcc happily aligning statically defined structures on 32-byte
    multiples.

    One attempt was to use a 8-byte alignment for tracepoint structures by applying
    both the variable and type attribute to tracepoint structures definitions and
    declarations. It worked fine with gcc 4.5.1, but broke with gcc 4.4.4 and 4.4.5.

    The reason is that the "aligned" attribute only specify the _minimum_ alignment
    for a structure, leaving both the compiler and the linker free to align on
    larger multiples. Because tracepoint.c expects the structures to be placed as an
    array within each section, up-alignment cause NULL-pointer exceptions due to the
    extra unexpected padding.

    (this patch applies on top of -tip)

    Signed-off-by: Mathieu Desnoyers
    Acked-by: David S. Miller
    LKML-Reference:
    CC: Frederic Weisbecker
    CC: Ingo Molnar
    CC: Thomas Gleixner
    CC: Andrew Morton
    CC: Peter Zijlstra
    CC: Rusty Russell
    Signed-off-by: Steven Rostedt

    Mathieu Desnoyers
     
  • Currently the trace_event structures are placed in the _ftrace_events
    section, and at link time, the linker makes one large array of all
    the trace_event structures. On boot up, this array is read (much like
    the initcall sections) and the events are processed.

    The problem is that there is no guarantee that gcc will place complex
    structures nicely together in an array format. Two structures in the
    same file may be placed awkwardly, because gcc has no clue that they
    are suppose to be in an array.

    A hack was used previous to force the alignment to 4, to pack the
    structures together. But this caused alignment issues with other
    architectures (sparc).

    Instead of packing the structures into an array, the structures' addresses
    are now put into the _ftrace_event section. As pointers are always the
    natural alignment, gcc should always pack them tightly together
    (otherwise initcall, extable, etc would also fail).

    By having the pointers to the structures in the section, we can still
    iterate the trace_events without causing unnecessary alignment problems
    with other architectures, or depending on the current behaviour of
    gcc that will likely change in the future just to tick us kernel developers
    off a little more.

    The _ftrace_event section is also moved into the .init.data section
    as it is now only needed at boot up.

    Suggested-by: David Miller
    Cc: Mathieu Desnoyers
    Acked-by: David S. Miller
    Signed-off-by: Steven Rostedt

    Steven Rostedt
     
  • FMODE_EXEC is a constant type of fmode_t but was used with normal integer
    constants. This results in following warnings from sparse. Fix it using
    new macro __FMODE_EXEC.

    fs/exec.c:116:58: warning: restricted fmode_t degrades to integer
    fs/exec.c:689:58: warning: restricted fmode_t degrades to integer
    fs/fcntl.c:777:9: warning: restricted fmode_t degrades to integer

    Signed-off-by: Namhyung Kim
    Cc: Al Viro
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Namhyung Kim
     
  • AND-ing FMODE_* constant with normal integer results in following
    sparse warnings. Fix it.

    fs/open.c:662:21: warning: restricted fmode_t degrades to integer
    fs/anon_inodes.c:123:34: warning: restricted fmode_t degrades to integer

    Signed-off-by: Namhyung Kim
    Cc: Al Viro
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Namhyung Kim
     
  • If reclaim after a failed charging was unsuccessful, the limits are
    checked again, just in case they settled by means of other tasks.

    This is all fine as long as every charge is of size PAGE_SIZE, because in
    that case, being below the limit means having at least PAGE_SIZE bytes
    available.

    But with transparent huge pages, we may end up in an endless loop where
    charging and reclaim fail, but we keep going because the limits are not
    yet exceeded, although not allowing for a huge page.

    Fix this up by explicitely checking for enough room, not just whether we
    are within limits.

    Signed-off-by: Johannes Weiner
    Acked-by: KAMEZAWA Hiroyuki
    Reviewed-by: Minchan Kim
    Cc: Balbir Singh
    Cc: Daisuke Nishimura
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Johannes Weiner
     
  • David S. Miller
     

02 Feb, 2011

2 commits

  • 0x4243 is a PCI bridge, not a GPU.

    Fixes:
    https://bugs.freedesktop.org/show_bug.cgi?id=33815

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

    Alex Deucher
     
  • * 'intel/drm-intel-fixes' of /ssd/git/drm-next:
    drm/i915: Only bind to function 0 of the PCI device
    drm/i915: Suppress spurious vblank interrupts
    drm: Avoid leak of adjusted mode along quick set_mode paths
    drm: Simplify and defend later checks when disabling a crtc
    drm: Don't switch fb when disabling an output
    drm/i915: Reset crtc after resume
    drm/i915/crt: Force the initial probe after reset
    drm/i915: Reset state after a GPU reset or resume
    drm: Add an interface to reset the device
    drm/i915/sdvo: If at first we don't succeed in reading the response, wait

    Dave Airlie