Commits on Feb 22, 2012
  1. @torvalds

    Merge tag 'usb-3.3-rc4' of git://git.kernel.org/pub/scm/linux/kernel/…

    …git/gregkh/usb
    
    USB bugfixes for 3.3-rc4
    
    A number of new device ids, and a cleanup/fix for some of the option
    device ids that shouldn't have been added in the first place.
    
    There's also a few USB 3 fixes for problems that people have reported,
    and a usb-storage bugfix to round it out.
    
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
    
    * tag 'usb-3.3-rc4' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb:
      USB: Added Kamstrup VID/PIDs to cp210x serial driver.
      USB: Serial: ti_usb_3410_5052: Add Abbot Diabetes Care cable id
      usb-storage: fix freezing of the scanning thread
      xhci: Fix encoding for HS bulk/control NAK rate.
      USB: Set hub depth after USB3 hub reset
      USB: Fix handoff when BIOS disables host PCI device.
      USB: option: cleanup zte 3g-dongle's pid in option.c
      USB: Don't fail USB3 probe on missing legacy PCI IRQ.
      xhci: Fix oops caused by more USB2 ports than USB3 ports.
      USB: Remove duplicate USB 3.0 hub feature #defines.
    torvalds committed Feb 22, 2012
  2. @torvalds

    Merge branch 'drm-fixes' of git://people.freedesktop.org/~airlied/linux

    Intel, radeon, exynos fixes.
    
    Intel: fixes a few Ivybridge hangs, along with fixing RC6 on SNB (still
    not on, but at least allows for distros to patch it on easily).
    
    radeon: oops reading some files in debugfs that weren't meant to appear,
    a fix that touches a lot of files, so looks worse than it is, it fixes
    an oops if a GPU reset fails and userspace keeps submitting more data,
    along with a minor BIOS fix for newer boards.
    
    exynos: a group of fixes for exynos, they've sent me a few more but
    these were all I got through, and its no hw vanilla kernel users see a
    lot off yet.
    
    * 'drm-fixes' of git://people.freedesktop.org/~airlied/linux:
      drm/radeon/kms/atom: dpms bios scratch reg updates
      drm/radeon/kms: properly set accel working flag and bailout when false
      drm/radeon: Only create additional ring debugfs files on Cayman or newer.
      drm/exynos: added postclose to release resource.
      drm/exynos: removed exynos_drm_fbdev_recreate function.
      drm/exynos: fixed page flip issue.
      drm/exynos: added possible_clones setup function.
      drm/exynos: removed pageflip_event_list init code when closed.
      drm/exynos: changed priority of mixer layers.
      drm/exynos: Fix typo in exynos_mixer.c
      drm/i915: do not enable RC6p on Sandy Bridge
      drm/i915: gen7: Disable the RHWO optimization as it can cause GPU hangs.
      drm/i915: gen7: work around a system hang on IVB
      drm/i915: gen7: Implement an L3 caching workaround.
      drm/i915: gen7: implement rczunit workaround
    torvalds committed Feb 22, 2012
  3. @torvalds

    Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel…

    …/git/gerg/m68knommu
    
    It contains 3 important fixes for ColdFire based machines:
     - fix processes getting stuck when running from strace
     - fix kernel vmalloced pages not being visible in all kernel contexts
     - fix shared user pages sometimes being visible in another process
       context
    
    * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/gerg/m68knommu:
      m68k: Do not set global share for non-kernel shared pages
      m68k: Add shared bit to Coldfire kernel page entries
      m68knommu: fix syscall tracing stuck process
    torvalds committed Feb 22, 2012
  4. @torvalds

    Merge tag 'nfs-for-3.3-4' of git://git.linux-nfs.org/projects/trondmy…

    …/linux-nfs
    
    Bugfixes for the NFS client.
    
    Fix a nasty Oops in the NFSv4 getacl code, another source of infinite
    loops in the NFSv4 state recovery code, and a regression in NFSv4.1
    session initialisation.
    
    Also deal with an NFSv4.1 memory leak.
    
    * tag 'nfs-for-3.3-4' of git://git.linux-nfs.org/projects/trondmy/linux-nfs:
      NFSv4: fix server_scope memory leak
      NFSv4.1: Fix a NFSv4.1 session initialisation regression
      NFSv4: Ensure we throw out bad delegation stateids on NFS4ERR_BAD_STATEID
      NFSv4: Fix an Oops in the NFSv4 getacl code
    torvalds committed Feb 22, 2012
  5. drm/radeon/kms/atom: dpms bios scratch reg updates

    dpms bits not used on DCE4+
    
    Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
    Signed-off-by: Dave Airlie <airlied@redhat.com>
    Alex Deucher committed with Dave Airlie Feb 19, 2012
  6. drm/radeon/kms: properly set accel working flag and bailout when false

    If accel is not working many subsystem such as the ib pool might not be
    initialized properly that can lead to segfault inside kernel when cs
    ioctl is call with non working acceleration. To avoid this make sure
    the accel working flag is false when an error in GPU startup happen and
    return EBUSY from cs ioctl if accel is not working.
    
    Signed-off-by: Jerome Glisse <jglisse@redhat.com>
    Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
    Signed-off-by: Dave Airlie <airlied@redhat.com>
    Jerome Glisse committed with Dave Airlie Feb 20, 2012
  7. drm/radeon: Only create additional ring debugfs files on Cayman or ne…

    …wer.
    
    Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=46274
    
    Tested with a Cayman card in a Llano system: The additional files are created
    and working for the Cayman card but not created for the CPU's built-in GPU.
    
    Signed-off-by: Michel Dänzer <michel.daenzer@amd.com>
    Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
    Signed-off-by: Dave Airlie <airlied@redhat.com>
    Michel Dänzer committed with Dave Airlie Feb 21, 2012
  8. Merge branch 'drm-intel-fixes' of git://git.kernel.org/pub/scm/linux/…

    …kernel/git/jbarnes/drm-intel into drm-fixes
    
    * 'drm-intel-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/jbarnes/drm-intel:
      drm/i915: do not enable RC6p on Sandy Bridge
      drm/i915: gen7: Disable the RHWO optimization as it can cause GPU hangs.
      drm/i915: gen7: work around a system hang on IVB
      drm/i915: gen7: Implement an L3 caching workaround.
      drm/i915: gen7: implement rczunit workaround
    Dave Airlie committed Feb 22, 2012
  9. @torvalds

    Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel…

    …/git/jmorris/linux-security
    
    * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jmorris/linux-security:
      maintainers: update my email address
    torvalds committed Feb 21, 2012
  10. @torvalds

    Merge branch 'fixes' of git://git.linaro.org/people/rmk/linux-arm

    A few more things this time around.  The only thing warranting some
    commentry is the modpost change, which allows folk building a Thumb2
    enabled kernel to see section mismatch warnings.  This is why many
    weren't noticed with OMAP.
    
    * 'fixes' of git://git.linaro.org/people/rmk/linux-arm:
      ARM/audit: include audit header and fix audit arch
      ARM: OMAP: fix voltage domain build errors with PM_OPP disabled
      ARM/PCI: Remove ARM's duplicate definition of 'pcibios_max_latency'
      ARM: 7336/1: smp_twd: Don't register CPUFREQ notifiers if local timers are not initialised
      ARM: 7327/1: need to include asm/system.h in asm/processor.h
      ARM: 7326/2: PL330: fix null pointer dereference in pl330_chan_ctrl()
      ARM: 7164/3: PL330: Fix the size of the dst_cache_ctrl field
      ARM: 7325/1: fix v7 boot with lockdep enabled
      ARM: 7324/1: modpost: Fix section warnings for ARM for many compilers
      ARM: 7323/1: Do not allow ARM_LPAE on pre-ARMv7 architectures
    torvalds committed Feb 21, 2012
  11. maintainers: update my email address

    Update my email address.
    
    Signed-off-by: James Morris <james.l.morris@oracle.com>
    James Morris committed Feb 22, 2012
  12. @torvalds

    sys_poll: fix incorrect type for 'timeout' parameter

    The 'poll()' system call timeout parameter is supposed to be 'int', not
    'long'.
    
    Now, the reason this matters is that right now 32-bit compat mode is
    broken on at least x86-64, because the 32-bit code just calls
    'sys_poll()' directly on x86-64, and the 32-bit argument will have been
    zero-extended, turning a signed 'int' into a large unsigned 'long'
    value.
    
    We could just introduce a 'compat_sys_poll()' function for this, and
    that may eventually be what we have to do, but since the actual standard
    poll() semantics is *supposed* to be 'int', and since at least on x86-64
    glibc sign-extends the argument before invocing the system call (so
    nobody can actually use a 64-bit timeout value in user space _anyway_,
    even in 64-bit binaries), the simpler solution would seem to be to just
    fix the definition of the system call to match what it should have been
    from the very start.
    
    If it turns out that somebody somehow circumvents the user-level libc
    64-bit sign extension and actually uses a large unsigned 64-bit timeout
    despite that not being how poll() is supposed to work, we will need to
    do the compat_sys_poll() approach.
    
    Reported-by: Thomas Meyer <thomas@m3y3r.de>
    Acked-by: Eric Dumazet <eric.dumazet@gmail.com>
    Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
    torvalds committed Feb 21, 2012
  13. @mitake @torvalds

    asm-generic: architecture independent readq/writeq for 32bit environment

    This provides unified readq()/writeq() helper functions for 32-bit
    drivers.
    
    For some cases, readq/writeq without atomicity is harmful, and order of
    io access has to be specified explicitly.  So in this patch, new two
    header files which contain non-atomic readq/writeq are added.
    
     - <asm-generic/io-64-nonatomic-lo-hi.h> provides non-atomic readq/
       writeq with the order of lower address -> higher address
    
     - <asm-generic/io-64-nonatomic-hi-lo.h> provides non-atomic readq/
       writeq with reversed order
    
    This allows us to remove some readq()s that were added drivers when the
    default non-atomic ones were removed in commit dbee8a0 ("x86:
    remove 32-bit versions of readq()/writeq()")
    
    The drivers which need readq/writeq but can do with the non-atomic ones
    must add the line:
    
      #include <asm-generic/io-64-nonatomic-lo-hi.h> /* or hi-lo.h */
    
    But this will be nop in 64-bit environments, and no other #ifdefs are
    required.  So I believe that this patch can solve the problem of
     1. driver-specific readq/writeq
     2. atomicity and order of io access
    
    This patch is tested with building allyesconfig and allmodconfig as
    ARCH=x86 and ARCH=i386 on top of tip/master.
    
    Cc: Kashyap Desai <Kashyap.Desai@lsi.com>
    Cc: Len Brown <lenb@kernel.org>
    Cc: Ravi Anand <ravi.anand@qlogic.com>
    Cc: Vikas Chaudhary <vikas.chaudhary@qlogic.com>
    Cc: Matthew Garrett <mjg@redhat.com>
    Cc: Jason Uhlenkott <juhlenko@akamai.com>
    Cc: James Bottomley <James.Bottomley@parallels.com>
    Cc: Thomas Gleixner <tglx@linutronix.de>
    Cc: "H. Peter Anvin" <hpa@zytor.com>
    Cc: Roland Dreier <roland@purestorage.com>
    Cc: James Bottomley <jbottomley@parallels.com>
    Cc: Alan Cox <alan@lxorguk.ukuu.org.uk>
    Cc: Matthew Wilcox <matthew.r.wilcox@intel.com>
    Cc: Andrew Morton <akpm@linux-foundation.org>
    Signed-off-by: Hitoshi Mitake <h.mitake@gmail.com>
    Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
    mitake committed with torvalds Feb 7, 2012
  14. @baxeno @gregkh

    USB: Added Kamstrup VID/PIDs to cp210x serial driver.

    Signed-off-by: Bruno Thomsen <bruno.thomsen@gmail.com>
    Cc: stable <stable@vger.kernel.org>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
    baxeno committed with gregkh Feb 21, 2012
  15. @lunn @gregkh

    USB: Serial: ti_usb_3410_5052: Add Abbot Diabetes Care cable id

    This USB-serial cable with mini stereo jack enumerates as:
    Bus 001 Device 004: ID 1a61:3410 Abbott Diabetes Care
    
    It is a TI3410 inside.
    
    Signed-off-by: Andrew Lunn <andrew@lunn.ch>
    Cc: stable <stable@vger.kernel.org>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
    lunn committed with gregkh Feb 20, 2012
  16. @gregkh

    usb-storage: fix freezing of the scanning thread

    This patch (as1521b) fixes the interaction between usb-storage's
    scanning thread and the freezer.  The current implementation has a
    race: If the device is unplugged shortly after being plugged in and
    just as a system sleep begins, the scanning thread may get frozen
    before the khubd task.  Khubd won't be able to freeze until the
    disconnect processing is complete, and the disconnect processing can't
    proceed until the scanning thread finishes, so the sleep transition
    will fail.
    
    The implementation in the 3.2 kernel suffers from an additional
    problem.  There the scanning thread calls set_freezable_with_signal(),
    and the signals sent by the freezer will mess up the thread's I/O
    delays, which are all interruptible.
    
    The solution to both problems is the same: Replace the kernel thread
    used for scanning with a delayed-work routine on the system freezable
    work queue.  Freezable work queues have the nice property that you can
    cancel a work item even while the work queue is frozen, and no signals
    are needed.
    
    The 3.2 version of this patch solves the problem in Bugzilla #42730.
    
    Signed-off-by: Alan Stern <stern@rowland.harvard.edu>
    Acked-by: Seth Forshee <seth.forshee@canonical.com>
    CC: stable <stable@vger.kernel.org>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
    Alan Stern committed with gregkh Feb 21, 2012
  17. @gregkh

    Merge tag 'for-usb-linus-2012-02-21' of git://git.kernel.org/pub/scm/…

    …linux/kernel/git/sarah/xhci into usb-linus
    
    Hi Greg,
    
    Here's three bug fixes that should be queued for 3.3.
    
    The first fixes an issue we saw with an Intel Panther Point xHCI host,
    where a certain OSV's custom BIOS would disable the PCI device during
    boot.  It changes the generic PCI quirks handler for all USB host
    controllers, but in a way both Jesse Barnes and Oliver Neukum have
    agreed is safe.
    
    The second patch is Elric Fu's first kernel patch!  Congrats!  It fixes
    a bug in the USB 3.0 hub reset handling.
    
    The last patch fixes a bug in the xHCI driver that feeds invalid input
    to the xHC host.  Only the VIA host controller seems to have issues with
    it.  Thanks to Felipe Contreras for testing this patch on his VIA host,
    and Andiry Xu for suggesting the fix.
    
    All three patches are marked for stable.
    
    Sarah Sharp
    gregkh committed Feb 21, 2012
Commits on Feb 21, 2012
  1. xhci: Fix encoding for HS bulk/control NAK rate.

    The xHCI 0.96 spec says that HS bulk and control endpoint NAK rate must
    be encoded as an exponent of two number of microframes.  The endpoint
    descriptor has the NAK rate encoded in number of microframes.  We were
    just copying the value from the endpoint descriptor into the endpoint
    context interval field, which was not correct.  This lead to the VIA
    host rejecting the add of a bulk OUT endpoint from any USB 2.0 mass
    storage device.
    
    The fix is to use the correct encoding.  Refactor the code to convert
    number of frames to an exponential number of microframes, and make sure
    we convert the number of microframes in HS bulk and control endpoints to
    an exponent.
    
    This should be back ported to kernels as old as 2.6.31, that contain the
    commit dfa49c4 "USB: xhci - fix math
    in xhci_get_endpoint_interval"
    
    Signed-off-by: Sarah Sharp <sarah.a.sharp@linux.intel.com>
    Tested-by: Felipe Contreras <felipe.contreras@gmail.com>
    Suggested-by: Andiry Xu <andiry.xu@amd.com>
    Cc: stable@vger.kernel.org
    Sarah Sharp committed Feb 13, 2012
  2. USB: Set hub depth after USB3 hub reset

    The superspeed device attached to a USB 3.0 hub(such as VIA's)
    doesn't respond the address device command after resume. The
    root cause is the superspeed hub will miss the Hub Depth value
    that is used as an offset into the route string to locate the
    bits it uses to determine the downstream port number after
    reset, and all packets can't be routed to the device attached
    to the superspeed hub.
    
    Hub driver sends a Set Hub Depth request to the superspeed hub
    except for USB 3.0 root hub when the hub is initialized and
    doesn't send the request again after reset due to the resume
    process. So moving the code that sends the Set Hub Depth request
    to the superspeed hub from hub_configure() to hub_activate()
    is to cover those situations include initialization and reset.
    
    The patch should be backported to kernels as old as 2.6.39.
    
    Signed-off-by: Elric Fu <elricfu1@gmail.com>
    Signed-off-by: Sarah Sharp <sarah.a.sharp@linux.intel.com>
    Acked-by: Alan Stern <stern@rowland.harvard.edu>
    Cc: stable@vger.kernel.org
    Elric Fu committed with Sarah Sharp Feb 18, 2012
  3. USB: Fix handoff when BIOS disables host PCI device.

    On some systems with an Intel Panther Point xHCI host controller, the
    BIOS disables the xHCI PCI device during boot, and switches the xHCI
    ports over to EHCI.  This allows the BIOS to access USB devices without
    having xHCI support.
    
    The downside is that the xHCI BIOS handoff mechanism will fail because
    memory mapped I/O is not enabled for the disabled PCI device.
    Jesse Barnes says this is expected behavior.  The PCI core will enable
    BARs before quirks run, but it will leave it in an undefined state, and
    it may not have memory mapped I/O enabled.
    
    Make the generic USB quirk handler call pci_enable_device() to re-enable
    MMIO, and call pci_disable_device() once the host-specific BIOS handoff
    is finished.  This will balance the ref counts in the PCI core.  When
    the PCI probe function is called, usb_hcd_pci_probe() will call
    pci_enable_device() again.
    
    This should be back ported to kernels as old as 2.6.31.  That was the
    first kernel with xHCI support, and no one has complained about BIOS
    handoffs failing due to memory mapped I/O being disabled on other hosts
    (EHCI, UHCI, or OHCI).
    
    Signed-off-by: Sarah Sharp <sarah.a.sharp@linux.intel.com>
    Acked-by: Oliver Neukum <oneukum@suse.de>
    Cc: Jesse Barnes <jbarnes@virtuousgeek.org>
    Cc: stable@vger.kernel.org
    Sarah Sharp committed Feb 7, 2012
  4. @eparis

    ARM/audit: include audit header and fix audit arch

    Both bugs being fixed were introduced in:
    29ef73b
    
    Include linux/audit.h to fix below build errors:
    
      CC      arch/arm/kernel/ptrace.o
    arch/arm/kernel/ptrace.c: In function 'syscall_trace':
    arch/arm/kernel/ptrace.c:919: error: implicit declaration of function 'audit_syscall_exit'
    arch/arm/kernel/ptrace.c:921: error: implicit declaration of function 'audit_syscall_entry'
    arch/arm/kernel/ptrace.c:921: error: 'AUDIT_ARCH_ARMEB' undeclared (first use in this function)
    arch/arm/kernel/ptrace.c:921: error: (Each undeclared identifier is reported only once
    arch/arm/kernel/ptrace.c:921: error: for each function it appears in.)
    make[1]: *** [arch/arm/kernel/ptrace.o] Error 1
    make: *** [arch/arm/kernel] Error 2
    
    This part of the patch is:
    Reported-by: Axel Lin <axel.lin@gmail.com>
    Reported-by: Peter Ujfalusi <peter.ujfalusi@ti.com>
    (They both provided patches to fix it)
    
    This patch also (at the request of the list) fixes the fact that
    ARM has both LE and BE versions however the audit code was called as if
    it was always BE.  If audit userspace were to try to interpret the bits
    it got from a LE system it would obviously do so incorrectly.  Fix this
    by using the right arch flag on the right system.
    
    This part of the patch is:
    Reported-by: Russell King - ARM Linux <linux@arm.linux.org.uk>
    
    Signed-off-by: Eric Paris <eparis@redhat.com>
    Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
    eparis committed with Russell King Feb 21, 2012
  5. ARM: OMAP: fix voltage domain build errors with PM_OPP disabled

    The voltage domain code wants the voltage tables, which are in the
    opp*.c files.  These files aren't built when PM_OPP is disabled,
    causing the following build errors at link time:
    
    twl-common.c:(.init.text+0x2e48): undefined reference to `omap34xx_vddmpu_volt_data'
    twl-common.c:(.init.text+0x2e4c): undefined reference to `omap34xx_vddcore_volt_data'
    twl-common.c:(.init.text+0x2e5c): undefined reference to `omap36xx_vddmpu_volt_data'
    twl-common.c:(.init.text+0x2e60): undefined reference to `omap36xx_vddcore_volt_data'
    twl-common.c:(.init.text+0x2830): undefined reference to `omap44xx_vdd_mpu_volt_data'
    twl-common.c:(.init.text+0x283c): undefined reference to `omap44xx_vdd_iva_volt_data'
    twl-common.c:(.init.text+0x2844): undefined reference to `omap44xx_vdd_core_volt_data'
    
    Acked-by: Kevin Hilman <khilman@ti.com>
    Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
    Russell King committed Feb 15, 2012
  6. ARM/PCI: Remove ARM's duplicate definition of 'pcibios_max_latency'

    The patch series to re-factor PCI's 'latency timer' setup (re:
    http://marc.info/?l=linux-kernel&m=131983853831049&w=2) forgot to
    remove the ARM specific definition of 'pcibios_max_latency' once such
    had been moved into the pci core resulting in ARM related compile
    errors -
      drivers/built-in.o:(.data+0x230): multiple definition of
      `pcibios_max_latency'
      arch/arm/common/built-in.o:(.data+0x40c): first defined here
      make[1]: *** [vmlinux.o] Error 1
    
    In the series, patch 2/16 (commit 168c861) converted the ARM
    specific version of 'pcibios_set_master()' to a non-inlined version.
    This was done in preperation for hosting it up into PCI's core, which
    was done in patch 10/16 (commit 96c5590) of the series (and
    where the removal of ARM's 'pcibios_max_latency' was overlooked).
    
    Reported-by: Russell King <rmk+kernel@arm.linux.org.uk>
    Signed-off-by: Myron Stowe <myron.stowe@redhat.com>
    Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
    Myron Stowe committed with Russell King Feb 7, 2012
  7. @SantoshShilimkar

    ARM: 7336/1: smp_twd: Don't register CPUFREQ notifiers if local timer…

    …s are not initialised
    
    Current ARM local timer code registers CPUFREQ notifiers even in case
    the twd_timer_setup() isn't called. That seems to be wrong and
    would eventually lead to kernel crash on the CPU frequency transitions
    on the SOCs where the local timer doesn't exist or broken because of
    hardware BUG. Fix it by testing twd_evt and *__this_cpu_ptr(twd_evt).
    
    The issue was observed with v3.3-rc3 and building an OMAP2+ kernel
    on OMAP3 SOC which doesn't have TWD.
    
    Below is the dump for reference :
    
     Unable to handle kernel paging request at virtual address 007e900
     pgd = cdc20000
     [007e9000] *pgd=00000000
     Internal error: Oops: 5 [#1] SMP
     Modules linked in:
     CPU: 0    Not tainted  (3.3.0-rc3-pm+debug+initramfs #9)
     PC is at twd_update_frequency+0x34/0x48
     LR is at twd_update_frequency+0x10/0x48
     pc : [<c001382c>]    lr : [<c0013808>]    psr: 60000093
     sp : ce311dd8  ip : 00000000  fp : 00000000
     r10: 00000000  r9 : 00000001  r8 : ce310000
     r7 : c0440458  r6 : c00137f8  r5 : 00000000  r4 : c0947a74
     r3 : 00000000  r2 : 007e9000  r1 : 00000000  r0 : 00000000
     Flags: nZCv  IRQs off  FIQs on  Mode SVC_32  ISA ARM  Segment usr
     Control: 10c5387d  Table: 8dc20019  DAC: 00000015
     Process sh (pid: 599, stack limit = 0xce3102f8)
     Stack: (0xce311dd8 to 0xce312000)
     1dc0:                                                       6000c
     1de0: 00000001 00000002 00000000 00000000 00000000 00000000 00000
     1e00: ffffffff c093d8f0 00000000 ce311ebc 00000001 00000001 ce310
     1e20: c001386c c0437c4c c0e95b60 c0e95ba8 00000001 c0e95bf8 ffff4
     1e40: 00000000 00000000 c005ef74 ce310000 c0435cf0 ce311ebc 00000
     1e60: ce352b40 0007a120 c08d5108 c08ba040 c08ba040 c005f030 00000
     1e80: c08bc554 c032fe2c 0007a120 c08d4b64 ce352b40 c08d8618 ffff8
     1ea0: c08ba040 c033364c ce311ecc c0433b50 00000002 ffffffea c0330
     1ec0: 0007a120 0007a120 22222201 00000000 22222222 00000000 ce357
     1ee0: ce3d6000 cdc2aed8 ce352ba0 c0470164 00000002 c032f47c 00034
     1f00: c0331cac ce352b40 00000007 c032f6d0 ce352bbc 0003d090 c0930
     1f20: c093d8bc c03306a4 00000007 ce311f80 00000007 cdc2aec0 ce358
     1f40: ce8d20c0 00000007 b6fe5000 ce311f80 00000007 ce310000 0000c
     1f60: c000de74 ce987400 ce8d20c0 b6fe5000 00000000 00000000 0000c
     1f80: 00000000 00000000 001fbac8 00000000 00000007 001fbac8 00004
     1fa0: c000df04 c000dd60 00000007 001fbac8 00000001 b6fe5000 00000
     1fc0: 00000007 001fbac8 00000007 00000004 b6fe5000 00000000 00202
     1fe0: 00000000 beb565f8 00101ffc 00008e8c 60000010 00000001 00000
     [<c001382c>] (twd_update_frequency+0x34/0x48) from [<c008ac4c>] )
     [<c008ac4c>] (smp_call_function_single+0x17c/0x1c8) from [<c0013)
     [<c0013890>] (twd_cpufreq_transition+0x24/0x30) from [<c0437c4c>)
     [<c0437c4c>] (notifier_call_chain+0x44/0x84) from [<c005efe4>] ()
     [<c005efe4>] (__srcu_notifier_call_chain+0x70/0xa4) from [<c005f)
     [<c005f030>] (srcu_notifier_call_chain+0x18/0x20) from [<c032fe2)
     [<c032fe2c>] (cpufreq_notify_transition+0xc8/0x1b0) from [<c0333)
     [<c033364c>] (omap_target+0x1b4/0x28c) from [<c032f47c>] (__cpuf)
     [<c032f47c>] (__cpufreq_driver_target+0x50/0x64) from [<c0331d24)
     [<c0331d24>] (cpufreq_set+0x78/0x98) from [<c032f6d0>] (store_sc)
     [<c032f6d0>] (store_scaling_setspeed+0x5c/0x74) from [<c03306a4>)
     [<c03306a4>] (store+0x58/0x74) from [<c014d868>] (sysfs_write_fi)
     [<c014d868>] (sysfs_write_file+0x80/0xb4) from [<c00f2c2c>] (vfs)
     [<c00f2c2c>] (vfs_write+0xa8/0x138) from [<c00f2e9c>] (sys_write)
     [<c00f2e9c>] (sys_write+0x40/0x6c) from [<c000dd60>] (ret_fast_s)
     Code: e594300c e792210c e1a01000 e5840004 (e7930002)
     ---[ end trace 5da3b5167c1ecdda ]---
    
    Reported-by: Kevin Hilman <khilman@ti.com>
    Acked-by: Marc Zyngier <marc.zyngier@arm.com>
    Tested-by: Kevin Hilman <khilman@ti.com>
    Signed-off-by: Santosh Shilimkar <santosh.shilimkar@ti.com>
    Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
    SantoshShilimkar committed with Russell King Feb 21, 2012
  8. @torvalds

    i387: export 'fpu_owner_task' per-cpu variable

    (And define it properly for x86-32, which had its 'current_task'
    declaration in separate from x86-64)
    
    Bitten by my dislike for modules on the machines I use, and the fact
    that apparently nobody else actually wanted to test the patches I sent
    out.
    
    Snif. Nobody else cares.
    
    Anyway, we probably should uninline the 'kernel_fpu_begin()' function
    that is what modules actually use and that references this, but this is
    the minimal fix for now.
    
    Reported-by: Josh Boyer <jwboyer@gmail.com>
    Reported-and-tested-by: Jongman Heo <jongman.heo@samsung.com>
    Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
    torvalds committed Feb 20, 2012
  9. @torvalds

    Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel…

    …/git/viro/vfs
    
    Assorted fixes, sat in -next for a week or so...
    
    * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs:
      ocfs2: deal with wraparounds of i_nlink in ocfs2_rename()
      vfs: fix compat_sys_stat() handling of overflows in st_nlink
      quota: Fix deadlock with suspend and quotas
      vfs: Provide function to get superblock and wait for it to thaw
      vfs: fix panic in __d_lookup() with high dentry hashtable counts
      autofs4 - fix lockdep splat in autofs
      vfs: fix d_inode_lookup() dentry ref leak
    torvalds committed Feb 20, 2012
  10. @torvalds

    Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel…

    …/git/s390/linux
    
    * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/s390/linux:
      [S390] correct ktime to tod clock comparator conversion
      [S390] 3215 deadlock with tty_wakeup
      [S390] incorrect PageTables counter for kvm page tables
      [S390] idle: avoid RCU usage in extended quiescent state
    torvalds committed Feb 20, 2012
  11. @torvalds

    Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel…

    …/git/jmorris/linux-security
    
    * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jmorris/linux-security:
      digsig: changed type of the timestamp
    torvalds committed Feb 20, 2012
Commits on Feb 20, 2012
  1. @torvalds

    i387: support lazy restore of FPU state

    This makes us recognize when we try to restore FPU state that matches
    what we already have in the FPU on this CPU, and avoids the restore
    entirely if so.
    
    To do this, we add two new data fields:
    
     - a percpu 'fpu_owner_task' variable that gets written any time we
       update the "has_fpu" field, and thus acts as a kind of back-pointer
       to the task that owns the CPU.  The exception is when we save the FPU
       state as part of a context switch - if the save can keep the FPU
       state around, we leave the 'fpu_owner_task' variable pointing at the
       task whose FP state still remains on the CPU.
    
     - a per-thread 'last_cpu' field, that indicates which CPU that thread
       used its FPU on last.  We update this on every context switch
       (writing an invalid CPU number if the last context switch didn't
       leave the FPU in a lazily usable state), so we know that *that*
       thread has done nothing else with the FPU since.
    
    These two fields together can be used when next switching back to the
    task to see if the CPU still matches: if 'fpu_owner_task' matches the
    task we are switching to, we know that no other task (or kernel FPU
    usage) touched the FPU on this CPU in the meantime, and if the current
    CPU number matches the 'last_cpu' field, we know that this thread did no
    other FP work on any other CPU, so the FPU state on the CPU must match
    what was saved on last context switch.
    
    In that case, we can avoid the 'f[x]rstor' entirely, and just clear the
    CR0.TS bit.
    
    Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
    torvalds committed Feb 19, 2012
  2. @torvalds

    i387: use 'restore_fpu_checking()' directly in task switching code

    This inlines what is usually just a couple of instructions, but more
    importantly it also fixes the theoretical error case (can that FPU
    restore really ever fail? Maybe we should remove the checking).
    
    We can't start sending signals from within the scheduler, we're much too
    deep in the kernel and are holding the runqueue lock etc.  So don't
    bother even trying.
    
    Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
    torvalds committed Feb 19, 2012
  3. @torvalds

    i387: fix up some fpu_counter confusion

    This makes sure we clear the FPU usage counter for newly created tasks,
    just so that we start off in a known state (for example, don't try to
    preload the FPU state on the first task switch etc).
    
    It also fixes a thinko in when we increment the fpu_counter at task
    switch time, introduced by commit 34ddc81 ("i387: re-introduce FPU
    state preloading at context switch time").  We should increment the
    *new* task fpu_counter, not the old task, and only if we decide to use
    that state (whether lazily or preloaded).
    
    Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
    torvalds committed Feb 20, 2012
  4. digsig: changed type of the timestamp

    time_t was used in the signature and key packet headers,
    which is typedef of long and is different on 32 and 64 bit architectures.
    Signature and key format should be independent of architecture.
    Similar to GPG, I have changed the type to uint32_t.
    
    Signed-off-by: Dmitry Kasatkin <dmitry.kasatkin@intel.com>
    Signed-off-by: James Morris <jmorris@namei.org>
    Dmitry Kasatkin committed with James Morris Feb 2, 2012
Commits on Feb 18, 2012
  1. @torvalds

    Linux 3.3-rc4

    torvalds committed Feb 18, 2012
  2. @torvalds

    Merge tag 'fixes-3.3-rc4' of git://git.kernel.org/pub/scm/linux/kerne…

    …l/git/arm/arm-soc
    
    These are the bug fixes that have accumulated since 3.3-rc3 in arm-soc.
    The majority of them are regression fixes for stuff that broke during
    the merge 3.3 window.
    
    The notable ones are:
    
    * The at91 ata drivers both broke because of an earlier cleanup patch that
      some other patches were based on. Jean-Christophe decided to remove
      the legacy at91_ide driver and fix the new-style at91-pata driver while
      keeping the cleanup patch. I almost rejected the patches for being too
      late and too big but in the end decided to accept them because they
      fix a regression.
    
    * A patch fixing build breakage from the sysdev-to-device conversion
      colliding with other changes touches a number of mach-s3c files.
    
    * b065403 "ARM: orion: Fix Orion5x GPIO regression from MPP cleanup"
      is a mechanical change that unfortunately touches a lot of lines
      that should up in the diffstat.
    
    * tag 'fixes-3.3-rc4' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc: (28 commits)
      ARM: at91: drop ide driver in favor of the pata one
      pata/at91: use newly introduced SMC accessors
      ARM: at91: add accessor to manage SMC
      ARM: at91:rtc/rtc-at91sam9: ioremap register bank
      ARM: at91: USB AT91 gadget registration for module
      ep93xx: fix build of vision_ep93xx.c
      ARM: OMAP2xxx: PM: fix OMAP2xxx-specific UART idle bug in v3.3
      ARM: orion: Fix USB phy for orion5x.
      ARM: orion: Fix Orion5x GPIO regression from MPP cleanup
      ARM: EXYNOS: Add cpu-offset property in gic device tree node
      ARM: EXYNOS: Bring exynos4-dt up to date
      ARM: OMAP3: cm-t35: fix section mismatch warning
      ARM: OMAP2: Fix the OMAP2 only build break seen with 2011+ ARM tool-chains
      ARM: tegra: paz00: fix wrong UART port on mini-pcie plug
      ARM: tegra: paz00: fix wrong SD1 power gpio
      i2c: tegra: Add devexit_p() for remove
      ARM: EXYNOS: Correct M-5MOLS sensor clock frequency on Universal C210 board
      ARM: EXYNOS: Correct framebuffer window size on Nuri board
      ARM: SAMSUNG: Fix missing api-change from subsys_interface change
      ARM: EXYNOS: Fix "warning: initialization from incompatible pointer type"
      ...
    torvalds committed Feb 18, 2012
  3. @torvalds

    Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net

    1) VETH_INFO_PEER netlink attribute needs to have it's size validated,
       from Thomas Graf.
    
    2) 'poll' module option of bnx2x driver crashes the machine, just remove
       it.  From Michal Schmidt.
    
    3) ks8851_mll driver reads the irq number from two places, but only
       initializes one of them, oops.  Use only one location and fix this
       problem, from Jan Weitzel.
    
    4) Fix buffer overrun and unicast sterring bugs in mellanox mlx4 driver,
       from Eugenia Emantayev.
    
    5) Swapped kcalloc() args in RxRPC and mlx4, from Axel Lin.
    
    6) PHY MDIO device name regression fixes from Florian Fainelli.
    
    7) If the wake event IRQ line is different from the netdevice one, we
       have to properly route it to the stmmac interrupt handler.  From
       Francesco Virlinzi.
    
    8) Fix rwlock lock initialization ordering bug in mac80211, from
       Mohammed Shafi Shajakhan.
    
    9) TCP lost_cnt can get out of sync, and in fact go negative, in certain
       circumstances.  Fix the way we specify what sequence range to operate
       on in tcp_sacktag_one() to fix this bug.  From Neal Cardwell.
    
    * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net: (27 commits)
      net/ethernet: ks8851_mll fix irq handling
      veth: Enforce minimum size of VETH_INFO_PEER
      stmmac: update the driver version to Feb 2012 (v2)
      stmmac: move hw init in the probe (v2)
      stmmac: request_irq when use an ext wake irq line (v2)
      stmmac: do not discard frame on dribbling bit assert
      ipheth: Add iPhone 4S
      mlx4: add unicast steering entries to resource_tracker
      mlx4: fix QP tree trashing
      mlx4: fix buffer overrun
      3c59x: shorten timer period for slave devices
      netpoll: netpoll_poll_dev() should access dev->flags
      RxRPC: Fix kcalloc parameters swapped
      bnx2x: remove the 'poll' module option
      tcp: fix tcp_shifted_skb() adjustment of lost_cnt_hint for FACK
      ks8851: Fix NOHZ local_softirq_pending 08 warning
      bnx2x: fix bnx2x_storm_stats_update() on big endian
      ixp4xx-eth: fix PHY name to match MDIO bus name
      octeon: fix PHY name to match MDIO bus name
      fec: fix PHY name to match fixed MDIO bus name
      ...
    torvalds committed Feb 18, 2012