Skip to content
Commits on Jan 28, 2010
  1. @NigelCunningham

    Bump version to

    NigelCunningham committed Jan 28, 2010
    Signed-off-by: Nigel Cunningham <>
  2. @NigelCunningham

    Switch GFP_KERNEL to GFP_NOFS.

    NigelCunningham committed Jan 28, 2010
    Since we don't want filesystem code to be invoked while TuxOnIce is
    running, we should really use GFP_NOFS instead of GFP_KERNEL.
    Signed-off-by: Nigel Cunningham <>
  3. @NigelCunningham

    Fix kmap while atomic warning (speedup!)

    NigelCunningham committed Jan 28, 2010
    Pedro Ribeiro reported that TuxOnIce was triggering a WARN_ON at
    line 380 in kernel/smp.c, because it was calling kmap while in
    an atommic context.
    This was happening in the code that decides where pageset1 will be
    loaded, because we were allocating all available memory as part of
    that process, and going atomic to avoid other code causing OOM
    It should have occured to me long ago that there's no need to allocate
    all available memory. We can just allocate the number of pages we
    need, then treat the ones that match with pages to be restored as
    direct loads, and the others as source pages for the atomic restore.
    We gain a nice speed improvement this way, too. We (at least potentially)
    do far fewer memory allocations and frees (especially on systems with
    lots of memory and a comparatively small pageset1), and we completely
    avoid the cost of disabling and reenabling secondary processors.
    Signed-off-by: Nigel Cunningham <>
Commits on Jan 25, 2010
  1. @NigelCunningham

    Correct calculation of throughput throttle.

    NigelCunningham committed Jan 26, 2010
    596fee0 ("Give an estimate of time
    remaining") adjusted the calculation of the throughput throttle
    because we're now updating the throttle each 1/4 of a second instead
    of 1/2 second. The change wrongly switched a divide to a multiply,
    causing us to have much more outstanding I/O than is necessary and
    enough such that our remaining time calculations are off. Switch
    it back to a divide.
    Signed-off-by: Nigel Cunningham <>
  2. @NigelCunningham
  3. @gregkh


    gregkh committed Jan 25, 2010
  4. @gregkh

    perf: Honour event state for aux stream data

    Peter Zijlstra committed with gregkh Jan 18, 2010
    commit 22e1908 upstream.
    Anton reported that perf record kept receiving events even after calling
    ioctl(PERF_EVENT_IOC_DISABLE). It turns out that FORK,COMM and MMAP
    events didn't respect the disabled state and kept flowing in.
    Reported-by: Anton Blanchard <>
    Signed-off-by: Peter Zijlstra <>
    Tested-by: Anton Blanchard <>
    LKML-Reference: <1263459187.4244.265.camel@laptop>
    Signed-off-by: Ingo Molnar <>
    Signed-off-by: Greg Kroah-Hartman <>
  5. @gregkh

    perf events: Dont report side-band events on each cpu for per-task-pe…

    Peter Zijlstra committed with gregkh Dec 17, 2009
    …r-cpu events
    commit 5d27c23 upstream.
    Acme noticed that his FORK/MMAP numbers were inflated by about
    the same factor as his cpu-count.
    This led to the discovery of a few more sites that need to
    respect the event->cpu filter.
    Reported-by: Arnaldo Carvalho de Melo <>
    Signed-off-by: Peter Zijlstra <>
    Cc: Paul Mackerras <>
    LKML-Reference: <>
    Signed-off-by: Ingo Molnar <>
    Signed-off-by: Greg Kroah-Hartman <>
  6. @fenrus75 @gregkh

    perf timechart: Use tid not pid for COMM change

    fenrus75 committed with gregkh Jan 16, 2010
    commit 8f06d7e upstream.
    A process that changes its comm field, does this on a per kernel
    task struct basis. The timechart tool used, incorrectly, the pid
    to track this, and should have used the tid instead...
    Signed-off-by: Arjan van de Ven <>
    Cc: Peter Zijlstra <>
    Cc: Mike Galbraith <>
    Cc: Paul Mackerras <>
    Cc: Arnaldo Carvalho de Melo <>
    Cc: Frederic Weisbecker <>
    LKML-Reference: <>
    Signed-off-by: Ingo Molnar <>
    Signed-off-by: Greg Kroah-Hartman <>
  7. @gregkh

    vmalloc: remove BUG_ON due to racy counting of VM_LAZY_FREE

    Yongseok Koh committed with gregkh Jan 19, 2010
    commit 88f5004 upstream.
    In free_unmap_area_noflush(), va->flags is marked as VM_LAZY_FREE first, and
    then vmap_lazy_nr is increased atomically.
    But, in __purge_vmap_area_lazy(), while traversing of vmap_are_list, nr
    is counted by checking VM_LAZY_FREE is set to va->flags.  After counting
    the variable nr, kernel reads vmap_lazy_nr atomically and checks a
    BUG_ON condition whether nr is greater than vmap_lazy_nr to prevent
    vmap_lazy_nr from being negative.
    The problem is that, if interrupted right after marking VM_LAZY_FREE,
    increment of vmap_lazy_nr can be delayed.  Consequently, BUG_ON
    condition can be met because nr is counted more than vmap_lazy_nr.
    It is highly probable when vmalloc/vfree are called frequently.  This
    scenario have been verified by adding delay between marking VM_LAZY_FREE
    and increasing vmap_lazy_nr in free_unmap_area_noflush().
    Even the vmap_lazy_nr is for checking high watermark, it never be the
    strict watermark.  Although the BUG_ON condition is to prevent
    vmap_lazy_nr from being negative, vmap_lazy_nr is signed variable.  So,
    it could go down to negative value temporarily.
    Consequently, removing the BUG_ON condition is proper.
    A possible BUG_ON message is like the below.
       kernel BUG at mm/vmalloc.c:517!
       invalid opcode: 0000 [#1] SMP
       EIP: 0060:[<c04824a4>] EFLAGS: 00010297 CPU: 3
       EIP is at __purge_vmap_area_lazy+0x144/0x150
       EAX: ee8a8818 EBX: c08e77d4 ECX: e7c7ae40 EDX: c08e77ec
       ESI: 000081fe EDI: e7c7ae60 EBP: e7c7ae64 ESP: e7c7ae3c
       DS: 007b ES: 007b FS: 00d8 GS: 0033 SS: 0068
       Call Trace:
       [<c0482ad9>] free_unmap_vmap_area_noflush+0x69/0x70
       [<c0482b02>] remove_vm_area+0x22/0x70
       [<c0482c15>] __vunmap+0x45/0xe0
       [<c04831ec>] vmalloc+0x2c/0x30
       Code: 8d 59 e0 eb 04 66 90 89 cb 89 d0 e8 87 fe ff ff 8b 43 20 89 da 8d 48 e0 8d 43 20 3b 04 24 75 e7 fe 05 a8 a5 a3 c0 e9 78 ff ff ff <0f> 0b eb fe 90 8d b4 26 00 00 00 00 56 89 c6 b8 ac a5 a3 c0 31
       EIP: [<c04824a4>] __purge_vmap_area_lazy+0x144/0x150 SS:ESP 0068:e7c7ae3c
    [ See also ]
    Signed-off-by: Yongseok Koh <>
    Reviewed-by: Minchan Kim <>
    Cc: Nick Piggin <>
    Cc: Andrew Morton <>
    Signed-off-by: Linus Torvalds <>
    Signed-off-by: Greg Kroah-Hartman <>
  8. @dopplershift @gregkh

    USB: fix usbstorage for 2770:915d delivers no FAT

    dopplershift committed with gregkh Jan 6, 2010
    commit 10d2cdb upstream.
    Resolves bug 14914.
    Remove entry for 2770:915d (usb digital camera with mass storage
    support) from unusual_devs.h. The fix triggered by the entry causes
    the file system on the camera to be completely inaccessible (no
    partition table, the device is not mountable).
    The patch works, but let me clarify a few things about it.  All the
    patch does is remove the entry for this device from the
    drivers/usb/storage/unusual_devs.h, which is supposed to help with a
    problem with the device's reported size (I think).  I'm pretty sure it
    was originally added for a reason, so I'm not sure removing it won't
    cause other problems to reappear.  Also, I should note that this
    unusual_devs.h entry was present (and activating workarounds) in
    2.6.29, but in that version everything works fine.  Starting with
    2.6.30, things no longer work.
    Signed-off-by: Ryan May <>
    Cc: Rohan Hart <>
    Signed-off-by: Greg Kroah-Hartman <>
  9. @gregkh

    x86/PCI/PAT: return EINVAL for pci mmap WC request for !pat_enabled

    Suresh Siddha committed with gregkh Oct 26, 2009
    commit 2992e54 upstream.
    Thomas Schlichter reported:
    > uses libpciaccess which tries to mmap with write combining enabled via
    > /sys/bus/pci/devices/*/resource0_wc. Currently, when PAT is not enabled, the
    > kernel does fall back to uncached mmap. Then libpciaccess thinks it succeeded
    > mapping with write combining enabled and does not set up suited MTRR entries.
    > ;-(
    Instead of silently mapping pci mmap region as UC minus in the case
    of !pat_enabled and wc request, we can return error. Eric Anholt mentioned
    that caller (like X) typically follows up with UC minus pci mmap request and
    if there is a free mtrr slot, caller will manage adding WC mtrr.
    Jesse Barnes says:
    > Older versions of libpciaccess will behave better if we do it that way
    > (iirc it only allocates an MTRR if the resource_wc file doesn't exist or
    > fails to get mapped).
    Reported-by: Thomas Schlichter <>
    Signed-off-by: Thomas Schlichter <>
    Signed-off-by: Suresh Siddha <>
    Acked-by: Eric Anholt <>
    Acked-by: Jesse Barnes <>
    Signed-off-by: Jesse Barnes <>
    Signed-off-by: Greg Kroah-Hartman <>
  10. @gregkh

    DM: Fix device mapper topology stacking

    Martin K. Petersen committed with gregkh Jan 11, 2010
    commit b27d7f1 upstream.
    Make DM use bdev_stack_limits() function so that partition offsets get
    taken into account when calculating alignment.  Clarify stacking
    Also remove obsolete clearing of final alignment_offset and misalignment
    Signed-off-by: Martin K. Petersen <>
    Signed-off-by: Mike Snitzer <>
    Cc: Alasdair G. Kergon <>
    Signed-off-by: Jens Axboe <>
    Signed-off-by: Greg Kroah-Hartman <>
  11. @gregkh

    block: bdev_stack_limits wrapper

    Martin K. Petersen committed with gregkh Jan 11, 2010
    commit 17be8c2 upstream.
    DM does not want to know about partition offsets.  Add a partition-aware
    wrapper that DM can use when stacking block devices.
    Signed-off-by: Martin K. Petersen <>
    Acked-by: Mike Snitzer <>
    Reviewed-by: Alasdair G Kergon <>
    Signed-off-by: Jens Axboe <>
    Signed-off-by: Greg Kroah-Hartman <>
  12. @yakuizhao @gregkh

    drm/i915: try another possible DDC bus for the SDVO device with multi…

    yakuizhao committed with gregkh Jan 8, 2010
    …ple outputs
    commit 7c3f0a2 upstream.
    There exist multiple DDC buses for the SDVO cards with multiple outputs.
    When we can't get the EDID by using the select DDC bus, we can try the other
    possible DDC bus to see whether the EDID can be obtained.
    Signed-off-by: Zhao Yakui <>
    Tested-by: Sebastien Caty <>
    Signed-off-by: Eric Anholt <>
    Signed-off-by: Greg Kroah-Hartman <>
  13. @yakuizhao @gregkh

    drm/i915: Read the response after issuing DDC bus switch command

    yakuizhao committed with gregkh Jan 8, 2010
    commit 6a304ca upstream.
    For some SDVO cards based on conexant chip, we can't read the EDID if
    we don't read the response after issuing SDVO DDC bus switch
    From the SDVO spec once when another I2C transaction is finished after
    completing the I2C transaction of issuing the bus switch command, it
    will be switched back to the SDVO internal state again. So we can't
    initiate a new I2C transaction to read the response after issuing the
    DDC bus switch command. Instead we should issue DDC bus switch command
    and read the response in the same I2C transaction.
    Signed-off-by: Zhao Yakui <>
    Tested-by: Sebastien Caty <>
    Signed-off-by: Eric Anholt <>
    Signed-off-by: Greg Kroah-Hartman <>
  14. @gregkh

    SCSI: enclosure: fix oops while iterating enclosure_status array

    James Bottomley committed with gregkh Nov 26, 2009
    commit cc9b2e9 upstream.
    Based on patch originally by Jeff Mahoney <>
     enclosure_status is expected to be a NULL terminated array of strings
     but isn't actually NULL terminated. When writing an invalid value to
     /sys/class/enclosure/.../.../status, it goes off the end of the array
     and Oopses.
    Fix by making the assumption true and adding NULL at the end.
    Reported-by: Artur Wojcik <>
    Signed-off-by: James Bottomley <>
    Signed-off-by: Greg Kroah-Hartman <>
  15. @gregkh

    ACPI: EC: Add wait for irq storm

    Alexey Starikovskiy committed with gregkh Dec 30, 2009
    commit 5407010 upstream.
    Merge of poll and irq modes accelerated EC transaction, so
    that keyboard starts to suffer again. Add msleep(1) into
    transaction path for the storm to allow keyboard controller
    to do its job.
    Signed-off-by: Alexey Starikovskiy <>
    Signed-off-by: Len Brown <>
    Cc: François Valenduc <>
    Signed-off-by: Greg Kroah-Hartman <>
  16. @gregkh

    ACPI: EC: Accelerate query execution

    Alexey Starikovskiy committed with gregkh Dec 24, 2009
    commit a62e8f1 upstream.
    Split EC query handling into acknowledge and execution phase.
    This allows much smaller pending query lattency and lowers chances
    of EC going "wild" and losing events.
    Signed-off-by: Alexey Starikovskiy <>
    Signed-off-by: Len Brown <>
    Cc: François Valenduc <>
    Signed-off-by: Greg Kroah-Hartman <>
  17. @gregkh

    USB: add speed values for USB 3.0 and wireless controllers

    gregkh committed Jan 14, 2010
    commit b132b04 upstream.
    These controllers say "unknown" for their speed in sysfs, which
    obviously isn't correct.
    Reported-by: Kurt Garloff <>
    Cc: Sarah Sharp <>
    Cc: David Vrabel <>
    Signed-off-by: Greg Kroah-Hartman <>
  18. @gregkh

    USB: add missing delay during remote wakeup

    Alan Stern committed with gregkh Jan 8, 2010
    commit 49d0f07 upstream.
    This patch (as1330) fixes a bug in khbud's handling of remote
    wakeups.  When a device sends a remote-wakeup request, the parent hub
    (or the host controller driver, for directly attached devices) begins
    the resume sequence and notifies khubd when the sequence finishes.  At
    this point the port's SUSPEND feature is automatically turned off.
    However the device needs an additional 10-ms resume-recovery time
    (TRSMRCY in the USB spec).  Khubd does not wait for this delay if the
    SUSPEND feature is off, and as a result some devices fail to behave
    properly following a remote wakeup.  This patch adds the missing
    delay to the remote-wakeup path.
    It also extends the resume-signalling delay used by ehci-hcd and
    uhci-hcd from 20 ms (the value in the spec) to 25 ms (the value we use
    for non-remote-wakeup resumes).  The extra time appears to help some
    Signed-off-by: Alan Stern <>
    Cc: Rickard Bellini <>
    Signed-off-by: Greg Kroah-Hartman <>
  19. @gregkh

    USB: EHCI & UHCI: fix race between root-hub suspend and port resume

    Alan Stern committed with gregkh Jan 8, 2010
    commit cec3a53 upstream.
    This patch (as1321) fixes a problem with EHCI and UHCI root-hub
    suspends: If the suspend occurs while a port is trying to resume, the
    resume doesn't finish and simply gets lost.  When remote wakeup is
    enabled, this is undesirable behavior.
    The patch checks first to see if any port resumes are in progress, and
    if they are then it fails the root-hub suspend with -EBUSY.
    Signed-off-by: Alan Stern <>
    Signed-off-by: Greg Kroah-Hartman <>
  20. @gregkh

    USB: EHCI: fix handling of unusual interrupt intervals

    Alan Stern committed with gregkh Jan 8, 2010
    commit 1b9a38b upstream.
    This patch (as1320) fixes two problems related to interrupt-URB
    scheduling in ehci-hcd.
    	URBs with an interval of 2 or 4 microframes aren't handled.
    	For the time being, the patch reduces to interval to 1 uframe.
    	URBs are constrained to have an interval no larger than 1024
    	frames by usb_submit_urb().  But some EHCI controllers allow
    	use of a schedule as short as 256 frames; for these
    	controllers we may have to decrease the interval to the
    	actual schedule length.
    The second problem isn't very significant since few devices expose
    interrupt endpoints with an interval larger than 256 frames.  But the
    first problem is critical; it will prevent the kernel from working
    with devices having interrupt intervals of 2 or 4 uframes.
    Signed-off-by: Alan Stern <>
    Tested-by: Glynn Farrow <>
    Signed-off-by: Greg Kroah-Hartman <>
  21. @gregkh

    USB: Don't use GFP_KERNEL while we cannot reset a storage device

    Oliver Neukum committed with gregkh Jan 12, 2010
    commit acbe2fe upstream.
    Memory allocations with GFP_KERNEL can cause IO to a storage
    device which can fail resulting in a need to reset the device.
    Therefore GFP_KERNEL cannot be safely used between usb_lock_device()
    and usb_unlock_device(). Replace by GFP_NOIO.
    Signed-off-by: Oliver Neukum <>
    Cc: Alan Stern <>
    Signed-off-by: Greg Kroah-Hartman <>
  22. @gregkh

    USB: fix bitmask merge error

    Alan Stern committed with gregkh Dec 22, 2009
    commit a91b593 upstream.
    This patch adds a mask bit which was mistakenly omitted from the
    as1311 patch (usb-storage: add BAD_SENSE flag).
    Signed-off-by: Alan Stern <>
    Signed-off-by: Greg Kroah-Hartman <>
  23. @jhovold @gregkh

    usb: serial: fix memory leak in generic driver

    jhovold committed with gregkh Jan 6, 2010
    commit 2591530 upstream.
    Fix a regression introduced by commit
    715b1dc ("USB: usb_debug,
    usb_generic_serial: implement multi urb write").
    URB transfer buffer was never freed when using multi-urb writes.
    Currently the only driver enabling multi-urb writes is usb_debug.
    Signed-off-by: Johan Hovold <>
    Cc: Greg KH <>
    Acked-by: Jason Wessel <>
    Signed-off-by: Andrew Morton <>
    Signed-off-by: Greg Kroah-Hartman <>
  24. @gregkh

    serial: 8250_pnp: use wildcard for serial Wacom tablets

    Matthew Garrett committed with gregkh Dec 9, 2009
    commit 6d34855 upstream.
    Wacom claims that the WACF namespace will always be devoted to serial
    Wacom tablets.  Remove the existing entries and add a wildcard to avoid
    having to update the kernel every time they add a new device.
    Signed-off-by: Ping Cheng <>
    Signed-off-by: Matthew Garrett <>
    Tested-by: Ping Cheng <>
    Cc: Alan Cox <>
    Signed-off-by: Andrew Morton <>
    Signed-off-by: Greg Kroah-Hartman <>
  25. @gregkh

    nozomi: quick fix for the close/close bug

    Alan Cox committed with gregkh Jan 4, 2010
    commit eeec32a upstream.
    Nozomi goes wrong if you get the sequence
    which turns out to occur on some ppp type setups.
    This is a quick patch up for the problem. It's not really fixing Nozomi
    which completely fails to implement tty open/close semantics and all the
    other needed stuff. Doing it right is a rather more invasive patch set and
    not one that will backport.
    Signed-off-by: Alan Cox <>
    Signed-off-by: Greg Kroah-Hartman <>
  26. @gregkh

    ecryptfs: initialize private persistent file before dereferencing poi…

    Erez Zadok committed with gregkh Dec 3, 2009
    commit e27759d upstream.
    Ecryptfs_open dereferences a pointer to the private lower file (the one
    stored in the ecryptfs inode), without checking if the pointer is NULL.
    Right afterward, it initializes that pointer if it is NULL.  Swap order of
    statements to first initialize.  Bug discovered by Duckjin Kang.
    Signed-off-by: Duckjin Kang <>
    Signed-off-by: Erez Zadok <>
    Cc: Dustin Kirkland <>
    Cc: Al Viro <>
    Signed-off-by: Tyler Hicks <>
    Signed-off-by: Greg Kroah-Hartman <>
  27. @error27 @gregkh

    ecryptfs: use after free

    error27 committed with gregkh Jan 19, 2010
    commit ece550f upstream.
    The "full_alg_name" variable is used on a couple error paths, so we
    shouldn't free it until the end.
    Signed-off-by: Dan Carpenter <>
    Signed-off-by: Tyler Hicks <>
    Signed-off-by: Greg Kroah-Hartman <>
  28. @gregkh

    tty: fix race in tty_fasync

    gregkh committed Dec 17, 2009
    commit 7036251 upstream.
    We need to keep the lock held over the call to __f_setown() to
    prevent a PID race.
    Thanks to Al Viro for pointing out the problem, and to Travis for
    making us look here in the first place.
    Cc: Eric W. Biederman <>
    Cc: Al Viro <>
    Cc: Alan Cox <>
    Cc: Linus Torvalds <>
    Cc: Tavis Ormandy <>
    Cc: Jeff Dike <>
    Cc: Julien Tinnes <>
    Cc: Matt Mackall <>
    Signed-off-by: Greg Kroah-Hartman <>
  29. @gregkh

    Staging: hv: fix smp problems in the hyperv core code

    gregkh committed Jan 8, 2010
    commit 7692fd4 upstream.
    This fixes a number of SMP problems that were in the hyperv core code.
    Patch originally written by K. Y. Srinivasan <>
    but forward ported to the latest in-kernel code and tweaked slightly by
    Novell, Inc. hereby disclaims all copyright in any derivative work
    copyright associated with this patch.
    Signed-off-by: K. Y. Srinivasan <>
    Cc: Hank Janssen <>
    Cc: Haiyang Zhang <>
    Signed-off-by: Greg Kroah-Hartman <>
  30. @eugeni @gregkh

    Staging: asus_oled: fix oops in

    eugeni committed with gregkh Dec 23, 2009
    commit 20633bf upstream.
    After updating to 2.6.32 kernel, I started experiencing Oopses caused by
    the asus_oled module. After quick investigation, I wrapped this simple
    patch which fixes an Oops in by asus_oled module on kernel,
    caused by incorrect usage of strict_strtoul function call within
    set_enabled and set_disabled functions. This can be triggered by simple
    running the userspace client for asus_old (e.g., 'asusoled -e' or
    'asusoled -d').
    Signed-off-by: Eugeni Dodonov <>
    Signed-off-by: Greg Kroah-Hartman <>
  31. @moinejf @gregkh

    V4L/DVB (13900): gspca - sunplus: Fix bridge exchanges.

    moinejf committed with gregkh Jan 10, 2010
    commit 07d1c69 upstream.
    A previous code optimization inverted bridge registers and values,
    doing a regression in kernel  2.6.32.
    Signed-off-by: Jean-Francois Moine <>
    Signed-off-by: Mauro Carvalho Chehab <>
    Signed-off-by: Greg Kroah-Hartman <>
  32. @gregkh

    x86, msr/cpuid: Register enough minors for the MSR and CPUID drivers

    H. Peter Anvin committed with gregkh Dec 15, 2009
    commit 0b962d4 upstream.
    register_chrdev() hardcodes registering 256 minors, presumably to
    avoid breaking old drivers.  However, we need to register enough
    minors so that we have all possible CPUs.
    checkpatch warns on this patch, but the patch is correct: NR_CPUS here
    is a static *upper bound* on the *maximum CPU index* (not *number of
    CPUs!*) and that is what we want.
    Reported-and-tested-by: Russ Anderson <>
    Cc: Tejun Heo <>
    Cc: Alan Cox <>
    Cc: Takashi Iwai <>
    Cc: Alexander Viro <>
    Signed-off-by: H. Peter Anvin <>
    LKML-Reference: <tip-*>
    Signed-off-by: Greg Kroah-Hartman <>
Something went wrong with that request. Please try again.