1. 20 Jun, 2013 1 commit
    • Shawn Guo's avatar
      irqchip: gic: call gic_cpu_init() as well in CPU_STARTING_FROZEN case · 8b6fd652
      Shawn Guo authored
      Commit c0114709 (irqchip: gic: Perform the gic_secondary_init() call via
      CPU notifier) moves gic_secondary_init() that used to be called in
      .smp_secondary_init hook into a notifier call.  But it changes the
      system behavior a little bit.  Before the commit, gic_cpu_init()
      is called not only when kernel brings up the secondary cores but also
      when system resuming procedure hot-plugs the cores back to kernel.
      While after the commit, the function will not be called in the latter
      case, where the 'action' will not be CPU_STARTING but
      CPU_STARTING_FROZEN.  This behavior difference at least causes the
      following suspend/resume regression on imx6q.
      
      $ echo mem > /sys/power/state
      PM: Syncing filesystems ... done.
      PM: Preparing system for mem sleep
      mmc1: card e624 removed
      Freezing user space processes ... (elapsed 0.01 seconds) done.
      Freezing remaining freezable tasks ... (elapsed 0.01 seconds) done.
      PM: Entering mem sleep
      PM: suspend of devices complete after 5.930 msecs
      PM: suspend devices took 0.010 seconds
      PM: late suspend of devices complete after 0.343 msecs
      PM: noirq suspend of devices complete after 0.828 msecs
      Disabling non-boot CPUs ...
      CPU1: shutdown
      CPU2: shutdown
      CPU3: shutdown
      Enabling non-boot CPUs ...
      CPU1: Booted secondary processor
      INFO: rcu_sched detected stalls on CPUs/tasks: { 1 2 3} (detected by 0, t=2102 jiffies, g=4294967169, c=4294967168, q=17)
      Task dump for CPU 1:
      swapper/1       R running      0     0      1 0x00000000
      Backtrace:
      [<bf895ff4>] (0xbf895ff4) from [<00000000>] (  (null))
      Backtrace aborted due to bad frame pointer <8007ccdc>
      Task dump for CPU 2:
      swapper/2       R running      0     0      1 0x00000000
      Backtrace:
      [<8075dbdc>] (0x8075dbdc) from [<00000000>] (  (null))
      Backtrace aborted due to bad frame pointer <00000002>
      Task dump for CPU 3:
      swapper/3       R running      0     0      1 0x00000000
      Backtrace:
      [<8075dbdc>] (0x8075dbdc) from [<00000000>] (  (null))
      
      Fix the regression by checking 'action' being CPU_STARTING_FROZEN to
      have gic_cpu_init() called for secondary cores when system resumes.
      Signed-off-by: default avatarShawn Guo <shawn.guo@linaro.org>
      Acked-by: default avatarCatalin Marinas <catalin.marinas@arm.com>
      Tested-by: default avatarJoseph Lo <josephl@nvidia.com>
      Signed-off-by: default avatarArnd Bergmann <arnd@arndb.de>
      8b6fd652
  2. 17 Jun, 2013 1 commit
  3. 12 Jun, 2013 1 commit
  4. 11 Jun, 2013 2 commits
    • Tomasz Figa's avatar
      ARM: SAMSUNG: pm: Adjust for pinctrl- and DT-enabled platforms · cd3fc1b9
      Tomasz Figa authored
      This patch makes legacy code on suspend/resume path being executed
      conditionally, on non-DT platforms only, to fix suspend/resume of
      DT-enabled systems, for which the code is inappropriate.
      Signed-off-by: default avatarTomasz Figa <t.figa@samsung.com>
      Signed-off-by: default avatarKyungmin Park <kyungmin.park@samsung.com>
      [olof: add #include <linux/of.h>]
      Signed-off-by: default avatarOlof Johansson <olof@lixom.net>
      cd3fc1b9
    • Haojian Zhuang's avatar
      ARM: prima2: fix incorrect panic usage · 7e5955db
      Haojian Zhuang authored
      In prima2, some functions of checking DT is registered in initcall
      level. If it doesn't match the compatible name of sirf, kernel
      will panic. It blocks the usage of multiplatform on other verndor.
      
      The error message is in below.
      
      Knic - not syncing: unable to find compatible pwrc node in dtb
      CPU: 0 PID: 1 Comm: swapper/0 Not tainted 3.10.0-rc3-00006-gd7f26ea-dirty #86
      [<c0013adc>] (unwind_backtrace+0x0/0xf8) from [<c0011430>] (show_stack+0x10/0x1)
      [<c0011430>] (show_stack+0x10/0x14) from [<c026f724>] (panic+0x90/0x1e8)
      [<c026f724>] (panic+0x90/0x1e8) from [<c03267fc>] (sirfsoc_of_pwrc_init+0x24/0x)
      [<c03267fc>] (sirfsoc_of_pwrc_init+0x24/0x58) from [<c0320864>] (do_one_initcal)
      [<c0320864>] (do_one_initcall+0x90/0x150) from [<c0320a20>] (kernel_init_freeab)
      [<c0320a20>] (kernel_init_freeable+0xfc/0x1c4) from [<c026b9e8>] (kernel_init+0)
      [<c026b9e8>] (kernel_init+0x8/0xe4) from [<c000e158>] (ret_from_fork+0x14/0x3c)
      Signen-off-by: default avatarHaojian Zhuang <haojian.zhuang@linaro.org>
      Signed-off-by: default avatarOlof Johansson <olof@lixom.net>
      7e5955db
  5. 09 Jun, 2013 1 commit
    • Olof Johansson's avatar
      Merge tag 'omap-for-v3.10/fixes-v3.10-rc4' of... · f1d6e31d
      Olof Johansson authored
      Merge tag 'omap-for-v3.10/fixes-v3.10-rc4' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap into fixes
      
      From Tony Lindgren, a set of small fixes for omaps for the -rc cycle:
      
      - am7303 iva2 reset PM regression fix
      - am33xx uart2 dma channel fix
      - am33xx gpmc properties fix
      - omap44xx rtc wake-up mux fix for nirq pins
      - omap36xx clock divider restore fix
      
      There's also one tiny non-critical .dts fix for omap5
      timer pwm properties.
      
      * tag 'omap-for-v3.10/fixes-v3.10-rc4' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap:
        ARM: omap3: clock: fix wrong container_of in clock36xx.c
        ARM: dts: OMAP5: Fix missing PWM capability to timer nodes
        ARM: dts: omap4-panda|sdp: Fix mux for twl6030 IRQ pin and msecure line
        ARM: dts: AM33xx: Fix properties on gpmc node
        arm: omap2: fix AM33xx hwmod infos for UART2
        ARM: OMAP3: Fix iva2_pwrdm settings for 3703
      f1d6e31d
  6. 08 Jun, 2013 5 commits
  7. 07 Jun, 2013 2 commits
  8. 06 Jun, 2013 3 commits
  9. 04 Jun, 2013 2 commits
  10. 03 Jun, 2013 6 commits
  11. 02 Jun, 2013 4 commits
  12. 01 Jun, 2013 12 commits
    • Linus Torvalds's avatar
      Merge branch 'for-3.10' of git://git.kernel.org/pub/scm/linux/kernel/git/deller/parisc-linux · cc863973
      Linus Torvalds authored
      Pull parisc fixes from Helge Deller:
       "This patcheset includes fixes for:
      
         - the PCI/LBA which brings back the stifb graphics framebuffer
           console
         - possible memory overflows in parisc kernel init code
         - parport support on older GSC machines
         - avoids that users by mistake enable PARPORT_PC_SUPERIO on parisc
         - MAINTAINERS file list updates for parisc."
      
      * 'for-3.10' of git://git.kernel.org/pub/scm/linux/kernel/git/deller/parisc-linux:
        parisc: parport0: fix this legacy no-device port driver!
        parport_pc: disable PARPORT_PC_SUPERIO on parisc architecture
        parisc/PCI: lba: fix: convert to pci_create_root_bus() for correct root bus resources (v2)
        parisc/PCI: Set type for LBA bus_num resource
        MAINTAINERS: update parisc architecture file list
        parisc: kernel: using strlcpy() instead of strcpy()
        parisc: rename "CONFIG_PA7100" to "CONFIG_PA7000"
        parisc: fix kernel BUG at arch/parisc/include/asm/mmzone.h:50
        parisc: memory overflow, 'name' length is too short for using
      cc863973
    • Helge Deller's avatar
      parisc: parport0: fix this legacy no-device port driver! · 4edb3869
      Helge Deller authored
      Fix the above kernel error from parport_announce_port() on 32bit GSC
      machines (e.g. B160L). The parport driver requires now a pointer to the
      device struct.
      Signed-off-by: default avatarHelge Deller <deller@gmx.de>
      4edb3869
    • Helge Deller's avatar
      parport_pc: disable PARPORT_PC_SUPERIO on parisc architecture · c218c713
      Helge Deller authored
      If enabled, CONFIG_PARPORT_PC_SUPERIO scans on PC-like hardware for
      various super-io chips by accessing i/o ports in a range which will
      crash any parisc hardware at once.
      
      In addition, parisc has it's own incompatible superio chip
      (CONFIG_SUPERIO), so if we disable PARPORT_PC_SUPERIO completely for
      parisc we can avoid that people by accident enable the parport_pc
      superio option too.
      Signed-off-by: default avatarHelge Deller <deller@gmx.de>
      c218c713
    • Helge Deller's avatar
      parisc/PCI: lba: fix: convert to pci_create_root_bus() for correct root bus resources (v2) · b204a4d2
      Helge Deller authored
      commit dc7dce28
      Author: Bjorn Helgaas <bhelgaas@google.com>
      Date:   Fri Oct 28 16:27:27 2011 -0600
         parisc/PCI: lba: convert to pci_create_root_bus() for correct root bus
                          resources
      
        Supply root bus resources to pci_create_root_bus() so they're correct
        immediately.  This fixes the problem of "early" and "header" quirks seeing
        incorrect root bus resources.
      
      added tests for elmmio_space.start while it should use
      elmmio_space.flags.  This for example led to incorrect resource
      assignments and a non-working stifb framebuffer on most parisc machines.
      
      LBA 10:1: PCI host bridge to bus 0000:01
      pci_bus 0000:01: root bus resource [io  0x12000-0x13fff] (bus address [0x2000-0x3fff])
      pci_bus 0000:01: root bus resource [mem 0xfffffffffa000000-0xfffffffffbffffff] (bus address [0xfa000000-0xfbffffff])
      pci_bus 0000:01: root bus resource [mem 0xfffffffff4800000-0xfffffffff4ffffff] (bus address [0xf4800000-0xf4ffffff])
      pci_bus 0000:01: root bus resource [??? 0x00000001 flags 0x0]
      Signed-off-by: default avatarHelge Deller <deller@gmx.de>
      Acked-by: default avatarBjorn Helgaas <bhelgaas@google.com>
      b204a4d2
    • Bjorn Helgaas's avatar
      parisc/PCI: Set type for LBA bus_num resource · b47d4934
      Bjorn Helgaas authored
      The non-PAT resource probing code failed to set the type of the LBA bus_num
      resource (30aa80da "parisc/PCI: register busn_res for root buses" did
      the corresponding thing for the PAT case).
      
      This causes incorrect resource assignments and a non-working stifb
      framebuffer on most parisc machines.
      Signed-off-by: default avatarBjorn Helgaas <bhelgaas@google.com>
      Signed-off-by: default avatarHelge Deller <deller@gmx.de>
      b47d4934
    • Helge Deller's avatar
      2b6bac9e
    • Chen Gang's avatar
      parisc: kernel: using strlcpy() instead of strcpy() · ea99b1ad
      Chen Gang authored
      'boot_args' is an input args, and 'boot_command_line' has a fix length.
      So use strlcpy() instead of strcpy() to avoid memory overflow.
      Signed-off-by: default avatarChen Gang <gang.chen@asianux.com>
      Acked-by: default avatarKyle McMartin <kyle@mcmartin.ca>
      Signed-off-by: default avatarHelge Deller <deller@gmx.de>
      ea99b1ad
    • Paul Bolle's avatar
      parisc: rename "CONFIG_PA7100" to "CONFIG_PA7000" · 76603902
      Paul Bolle authored
      There's a Makefile line setting cflags for CONFIG_PA7100. But that
      Kconfig macro doesn't exist. There is a Kconfig symbol PA7000, which
      covers both PA7000 and PA7100 processors. So let's use the corresponding
      Kconfig macro.
      Signed-off-by: default avatarPaul Bolle <pebolle@tiscali.nl>
      Signed-off-by: default avatarHelge Deller <deller@gmx.de>
      76603902
    • Helge Deller's avatar
      parisc: fix kernel BUG at arch/parisc/include/asm/mmzone.h:50 · ae249b5f
      Helge Deller authored
      With CONFIG_DISCONTIGMEM=y and multiple physical memory areas,
      cat /proc/kpageflags triggers this kernel bug:
      
      kernel BUG at arch/parisc/include/asm/mmzone.h:50!
      CPU: 2 PID: 7848 Comm: cat Tainted: G      D W 3.10.0-rc3-64bit #44
       IAOQ[0]: kpageflags_read0x128/0x238
       IAOQ[1]: kpageflags_read0x12c/0x238
       RP(r2): proc_reg_read0xbc/0x130
      Backtrace:
       [<00000000402ca2d4>] proc_reg_read0xbc/0x130
       [<0000000040235bcc>] vfs_read0xc4/0x1d0
       [<0000000040235f0c>] SyS_read0x94/0xf0
       [<0000000040105fc0>] syscall_exit0x0/0x14
      
      kpageflags_read() walks through the whole memory, even if some memory
      areas are physically not available. So, we should better not BUG on an
      unavailable pfn in pfn_to_nid() but just return the expected value -1 or
      0.
      Signed-off-by: default avatarHelge Deller <deller@gmx.de>
      ae249b5f
    • Chen Gang's avatar
      parisc: memory overflow, 'name' length is too short for using · 3f108de9
      Chen Gang authored
      'path.bc[i]' can be asigned by PCI_SLOT() which can '> 10', so sizeof(6
      * "%u:" + "%u" + '\0') may be 21.
      
      Since 'name' length is 20, it may be memory overflow.
      
      And 'path.bc[i]' is 'unsigned char' for printing, we can be sure the
      max length of 'name' must be less than 28.
      
      So simplify thinking, we can use 28 instead of 20 directly, and do not
      think of whether 'patchc.bc[i]' can '> 100'.
      Signed-off-by: default avatarChen Gang <gang.chen@asianux.com>
      Signed-off-by: default avatarHelge Deller <deller@gmx.de>
      3f108de9
    • Linus Torvalds's avatar
      Merge branch 'merge' of git://git.kernel.org/pub/scm/linux/kernel/git/benh/powerpc · aa3ae6de
      Linus Torvalds authored
      Pull powerpc fixes from Ben Herrenschmidt:
       "Here are a few more fixes for powerpc 3.10.  It's a bit more than I
        would have liked this late in the game but I suppose that's what
        happens with a brand new chip generation coming out.
      
        A few regression fixes, some last minute fixes for new P8 features
        such as transactional memory,...
      
        There's also one powerpc KVM patch that I requested that adds two
        missing functions to our in-kernel interrupt controller support which
        is itself a new 3.10 feature.  These are defined by the base
        hypervisor specification.  We didn't implement them originally because
        Linux doesn't use them but they are simple and I'm not comfortable
        having a half-implemented interface in 3.10 and having to deal with
        versionning etc...  later when something starts needing those calls.
        They cannot be emulated in qemu when using in-kernel interrupt
        controller (not enough shared state).
      
        Just added a last minute patch to fix a typo introducing a breakage in
        our cputable for Power7+ processors, sorry about that, but the
        regression it fixes just hurt me :-)"
      
      * 'merge' of git://git.kernel.org/pub/scm/linux/kernel/git/benh/powerpc:
        powerpc/cputable: Fix typo on P7+ cputable entry
        powerpc/perf: Add missing SIER support
        powerpc/perf: Revert to original NO_SIPR logic
        powerpc/pci: Remove the unused variables in pci_process_bridge_OF_ranges
        powerpc/pci: Remove the stale comments of pci_process_bridge_OF_ranges
        powerpc/pseries: Always enable CONFIG_HOTPLUG_CPU on PSERIES SMP
        powerpc/kvm/book3s: Add support for H_IPOLL and H_XIRR_X in XICS emulation
        powerpc/32bit:Store temporary result in r0 instead of r8
        powerpc/mm: Always invalidate tlb on hpte invalidate and update
        powerpc/pseries: Improve stream generation comments in copypage/user
        powerpc/pseries: Kill all prefetch streams on context switch
        powerpc/cputable: Fix oprofile_cpu_type on power8
        powerpc/mpic: Fix irq distribution problem when MPIC_SINGLE_DEST_CPU
        powerpc/tm: Fix userspace stack corruption on signal delivery for active transactions
        powerpc/tm: Move TM abort cause codes to uapi
        powerpc/tm: Abort on emulation and alignment faults
        powerpc/tm: Update cause codes documentation
        powerpc/tm: Make room for hypervisor in abort cause codes
      aa3ae6de
    • Linus Torvalds's avatar
      Merge git://git.kernel.org/pub/scm/linux/kernel/git/nab/target-pending · 008bd2de
      Linus Torvalds authored
      Pull scsi target fixes from Nicholas Bellinger:
       "The highlights include:
      
         - Re-instate sess->wait_list in target_wait_for_sess_cmds() for
           active I/O shutdown handling in fabrics using se_cmd->cmd_kref
         - Make ib_srpt call target_sess_cmd_list_set_waiting() during session
           shutdown
         - Fix FILEIO off-by-one READ_CAPACITY bug for !S_ISBLK export
         - Fix iscsi-target login error heap buffer overflow (Kees)
         - Fix iscsi-target active I/O shutdown handling regression in
           v3.10-rc1
      
        A big thanks to Kees Cook for fixing a long standing login error
        buffer overflow bug.
      
        All patches are CC'ed to stable with the exception of the v3.10-rc1
        specific regression + other minor target cleanup."
      
      * git://git.kernel.org/pub/scm/linux/kernel/git/nab/target-pending:
        iscsi-target: Fix iscsit_free_cmd() se_cmd->cmd_kref shutdown handling
        target: Propigate up ->cmd_kref put return via transport_generic_free_cmd
        iscsi-target: fix heap buffer overflow on error
        target/file: Fix off-by-one READ_CAPACITY bug for !S_ISBLK export
        ib_srpt: Call target_sess_cmd_list_set_waiting during shutdown_session
        target: Re-instate sess_wait_list for target_wait_for_sess_cmds
        target: Remove unused wait_for_tasks bit in target_wait_for_sess_cmds
      008bd2de