08 Jun, 2013

4 commits

  • From Shawn Guo, imx fixes for 3.10, take 2:

    - One device tree fix for all spi node to have per clock added.
    The clock is needed by spi driver to calculate bit rate divisor.
    The spi node in the current device trees either does not have the
    clock or is defined as dummy clock, in which case the driver probe
    will fail or spi will run at a wrong bit rate.

    - Two imx6q clock fixes, which correct axi_sels and ldb_di_sels.

    * tag 'imx-fixes-3.10-2' of git://git.linaro.org/people/shawnguo/linux-2.6:
    ARM: imx: clk-imx6q: AXI clock select index is incorrect
    ARM: dts: imx: fix clocks for cspi
    ARM i.MX6q: fix for ldb_di_sels

    Signed-off-by: Olof Johansson

    Olof Johansson
     
  • If the early MMU mapping of the UART happens to get booted out of the
    TLB between the start of paging_init() and when we finally re-add the
    UART at the very end of s3c_init_cpu(), we'll get a hang at bootup if
    we've got early_printk enabled. Avoid this hang by calling
    debug_ll_io_init() early.

    Without this patch, you can reliably reproduce a hang when early
    printk is enabled by adding flush_tlb_all() at the start of
    exynos_init_io(). After this patch the hang goes away.

    Signed-off-by: Doug Anderson
    Acked-by: Kukjin Kim
    Signed-off-by: Olof Johansson

    Doug Anderson
     
  • …/git/horms/renesas into fixes

    From Simon Horman, Renesas ARM based SoC fixes for v3.10:
    - Correction to USB OVC and PENC pin groupings on r8a7779 SoC.
    This avoids conflicts when the USB_OVCn pins are used by another function.
    This has been observed to be a problem in v3.10-rc1.
    - Update CMT clock rating for sh73a0 SoC to resolve boot failure
    on kzm9g-reference. This resolves a regression between v3.9 and v3.10-rc1.

    * tag 'renesas-fixes-for-v3.10' of git://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas:
    ARM: shmobile: sh73a0: Update CMT clockevent rating to 80
    sh-pfc: r8a7779: Don't group USB OVC and PENC pins

    Signed-off-by: Olof Johansson <olof@lixom.net>

    Olof Johansson
     
  • Printing low-level debug messages make an assumption that the specified
    UART port has been preconfigured by the bootloader. Incorrectly
    specified UART port results in system getting stalled while printing the
    message "Uncompressing Linux... done, booting the kernel"
    This UART port number is specified through S3C_LOWLEVEL_UART_PORT. Since
    the UART port might different for different board, it is not possible to
    specify it correctly for every board that use a common defconfig file.

    Calling this print subroutine only when DEBUG_LL fixes the problem. By
    disabling DEBUG_LL in default config file, we would be able to boot
    multiple boards with different default UART ports.

    With this current approach, we miss the print "Uncompressing Linux...
    done, booting the kernel." when DEBUG_LL is not defined.

    Signed-off-by: Tushar Behera
    Signed-off-by: Olof Johansson

    Tushar Behera
     

04 Jun, 2013

2 commits

  • Update the CMT clockevent rating from 125 to 80.

    This resolves a boot-failure regression for kzm9g-reference in v3.10-rc1
    introduced by f7db706b132f11c79ae1d74b2382e0926cf31644 ("ARM: 7674/1: smp:
    Avoid dummy clockevent being preferred over real").

    The patch noted above reduces the rating of dummy clockevent from 400 to 100.
    This patch reduces the rating of CMT so that it is once again less than that
    of the dummy clockevent.

    Signed-off-by: Simon Horman

    Simon Horman
     
  • The USB_OVCn pins are alternate options for USB over-current detection
    when using a 3.3V USB interface. As they're not mandatory they can be
    used independently of the USB PENC pins. Don't group the USB_OVCn and
    PENC pins to avoid conflicts when the USB_OVCn pins are used by another
    function.

    Reported-by: Sergei Shtylyov
    Signed-off-by: Laurent Pinchart
    Acked-by: Linus Walleij
    Signed-off-by: Simon Horman

    Laurent Pinchart
     

03 Jun, 2013

4 commits

  • The AXI clock mux should be as below:

    00: periph;
    01: pll2_pfd2_396m;
    10: periph;
    11: pll3_pfd1_540m;

    Signed-off-by: Anson Huang
    Signed-off-by: Shawn Guo

    Anson Huang
     
  • …rnel/git/linusw/linux-stericsson into fixes

    From Linus Walleij, ux500 fixes for v3.10:
    - A multiplatform fix making sure ux500_idle_init() is only executed on ux500.
    - A regulator fix making sure the MMC/SD card regulator is not disabled on boot.

    Signed-off-by: Olof Johansson <olof@lixom.net>

    * tag 'ux500-arm-soc-v3.10-fixes-2' of git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-stericsson:
    ARM: ux500: Provide supplies for AUX1, AUX2 and AUX3
    ARM: ux500: Only configure wake-up reasons on ux500 based platforms

    Olof Johansson
     
  • Stephen Warren reported the recent commit 78506f2 (add support for
    extended FIFO-size of PL011-r1p5) breaks the serial port on the
    BCM2835 ARM SoC.

    A UART compatible with the ARM PL011-r1p5 should have 32-deep FIFOs.
    The BCM2835 UART just looks like an ARM PL011-r1p5, but has 16-deep
    FIFOs just like PL011-r1p4 or earlier revisions. As a workaround for
    this compatibility issue, this patch overrides the HW UART periphid
    register values with the actually compatible UART periphid 0x00241011
    (r1p3 or r1p4).

    Reported-by: Stephen Warren
    Signed-off-by: Jongsung Kim
    Signed-off-by: Stephen Warren
    Signed-off-by: Olof Johansson

    Jongsung Kim
     
  • From Jason Cooper, mvebu fixes for v3.10 round 3:
    - mvebu
    - fix bug in coherency fabric low level init
    - kirkwood
    - fix crash from pcie double init

    Signed-off-by: Olof Johansson

    * tag 'fixes-3.10-3' of git://git.infradead.org/users/jcooper/linux:
    ARM: mvebu: Fix bug in coherency fabric low level init function
    ARM: Kirkwood: TS219: Fix crash by double PCIe instantiation

    Olof Johansson
     

02 Jun, 2013

2 commits

  • Linus Torvalds
     
  • 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

    Linus Torvalds
     

01 Jun, 2013

28 commits

  • 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: Helge Deller

    Helge Deller
     
  • 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: Helge Deller

    Helge Deller
     
  • commit dc7dce280a
    Author: Bjorn Helgaas
    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: Helge Deller
    Acked-by: Bjorn Helgaas

    Helge Deller
     
  • The non-PAT resource probing code failed to set the type of the LBA bus_num
    resource (30aa80da43 "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: Bjorn Helgaas
    Signed-off-by: Helge Deller

    Bjorn Helgaas
     
  • Signed-off-by: Helge Deller

    Helge Deller
     
  • '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: Chen Gang
    Acked-by: Kyle McMartin
    Signed-off-by: Helge Deller

    Chen Gang
     
  • 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: Paul Bolle
    Signed-off-by: Helge Deller

    Paul Bolle
     
  • 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:
    [] proc_reg_read0xbc/0x130
    [] vfs_read0xc4/0x1d0
    [] SyS_read0x94/0xf0
    [] 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: Helge Deller

    Helge Deller
     
  • '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: Chen Gang
    Signed-off-by: Helge Deller

    Chen Gang
     
  • 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

    Linus Torvalds
     
  • 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

    Linus Torvalds
     
  • Pull clock subsystem fixes from Mike Turquette:
    "A mix of small fixes affecting mostly ARM platforms as well as a
    discrete clock expander chip. Most fixes are corrections to lousy
    clock data of one form or another."

    * tag 'clk-fixes-for-linus' of git://git.linaro.org/people/mturquette/linux:
    clk: mxs: Include clk mxs header file
    clk: vt8500: Fix unbalanced spinlock in vt8500_dclk_set_rate()
    clk: si5351: Set initial clkout rate when defined in platform data.
    clk: si5351: Fix clkout rate computation.
    clk: samsung: Add CLK_IGNORE_UNUSED flag for the sysreg clocks
    clk: ux500: clk-sysctrl: handle clocks with no parents
    clk: ux500: Provide device enumeration number suffix for SMSC911x

    Linus Torvalds
     
  • Pull fbdev fixes from Jean-Christophe PLAGNIOL-VILLARD:
    "This contains some small fixes

    - Atmel LCDC: fix blank the backlight on remove
    - ps3fb: fix compile warning
    - OMAPDSS: Fix crash with DT boot"

    * tag 'fbdev-for-3.10-rc4' of git://git.kernel.org/pub/scm/linux/kernel/git/plagnioj/linux-fbdev:
    atmel_lcdfb: blank the backlight on remove
    trivial: atmel_lcdfb: add missing error message
    OMAPDSS: Fix crash with DT boot
    fbdev/ps3fb: fix compile warning

    Linus Torvalds
     
  • Pull assorted fixes from Al Viro:
    "There'll be more - I'm trying to dig out from under the pile of mail
    (a couple of weeks of something flu-like ;-/) and there's several more
    things waiting for review; this is just the obvious stuff."

    * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs:
    zoran: racy refcount handling in vm_ops ->open()/->close()
    befs_readdir(): do not increment ->f_pos if filldir tells us to stop
    hpfs: deadlock and race in directory lseek()
    qnx6: qnx6_readdir() has a braino in pos calculation
    fix buffer leak after "scsi: saner replacements for ->proc_info()"
    vfs: Fix invalid ida_remove() call

    Linus Torvalds
     
  • Pull two NFS client fixes from Trond Myklebust:
    - Fix a regression that broke NFS mounting using klibc and busybox
    - Stable fix to check access modes correctly on NFSv4 delegated open()

    * tag 'nfs-for-3.10-4' of git://git.linux-nfs.org/projects/trondmy/linux-nfs:
    NFS: Fix security flavor negotiation with legacy binary mounts
    NFSv4: Fix a thinko in nfs4_try_open_cached

    Linus Torvalds
     
  • Fix a typo in setting COMMON_USER2_POWER7 bits to .cpu_user_features2
    cpu specs table.

    Signed-off-by: Will Schmidt
    Acked-by: Michael Neuling
    Signed-off-by: Benjamin Herrenschmidt

    Will Schmidt
     
  • Commit 8f61aa3 "Add support for SIER" missed updates to siar_valid()
    and perf_get_data_addr().

    In both cases we need to check the SIER instead of mmcra.

    Signed-off-by: Michael Ellerman
    Signed-off-by: Benjamin Herrenschmidt

    Michael Ellerman
     
  • This is a revert and then some of commit 860aad7 "Add regs_no_sipr()".
    This workaround was only needed on early chip versions.

    As before NO_SIPR becomes a static flag of the PMU struct.

    Signed-off-by: Michael Ellerman
    Signed-off-by: Benjamin Herrenschmidt

    Michael Ellerman
     
  • The codes which ever used these two variables have gone. Throw away
    them too.

    Signed-off-by: Kevin Hao
    Signed-off-by: Benjamin Herrenschmidt

    Kevin Hao
     
  • These comments already don't apply to the current code. So just remove
    them.

    Signed-off-by: Kevin Hao
    Signed-off-by: Benjamin Herrenschmidt

    Kevin Hao
     
  • Adam Lackorzynski reported the following build failure on
    !CONFIG_HOTPLUG_CPU configuration:

    CC arch/powerpc/kernel/rtas.o
    arch/powerpc/kernel/rtas.c: In function ‘rtas_cpu_state_change_mask’:
    arch/powerpc/kernel/rtas.c:843:4: error: implicit declaration of function ‘cpu_down’ [-Werror=implicit-function-declaration]
    cc1: all warnings being treated as errors
    make[1]: *** [arch/powerpc/kernel/rtas.o] Error 1
    make: *** [arch/powerpc/kernel] Error 2

    The build fails because cpu_down() is defined only under CONFIG_HOTPLUG_CPU.

    Looking further, the mobility code in pseries is one of the call-sites which
    uses rtas_ibm_suspend_me(), which in turn calls rtas_cpu_state_change_mask().
    And the mobility code is unconditionally compiled-in (it does not fall under
    any Kconfig option). And commit 120496ac (powerpc: Bring all threads online
    prior to migration/hibernation) which introduced this build regression is
    critical for the proper functioning of the migration code. So it appears
    that the only solution to this problem is to enable CONFIG_HOTPLUG_CPU if
    SMP is enabled on PPC_PSERIES platforms. So make that change in the Kconfig.

    Reported-by: Adam Lackorzynski
    Cc: stable@vger.kernel.org
    Signed-off-by: Srivatsa S. Bhat
    Signed-off-by: Benjamin Herrenschmidt

    Srivatsa S. Bhat
     
  • This adds the remaining two hypercalls defined by PAPR for manipulating
    the XICS interrupt controller, H_IPOLL and H_XIRR_X. H_IPOLL returns
    information about the priority and pending interrupts for a virtual
    cpu, without changing any state. H_XIRR_X is like H_XIRR in that it
    reads and acknowledges the highest-priority pending interrupt, but it
    also returns the timestamp (timebase register value) from when the
    interrupt was first received by the hypervisor. Currently we just
    return the current time, since we don't do any software queueing of
    virtual interrupts inside the XICS emulation code.

    These hcalls are not currently used by Linux guests, but may be in
    future.

    Signed-off-by: Paul Mackerras
    Acked-by: Scott Wood
    Signed-off-by: Benjamin Herrenschmidt

    Paul Mackerras
     
  • Commit a9c4e541ea9b22944da356f2a9258b4eddcc953b
    "powerpc/kprobe: Complete kprobe and migrate exception frame"
    introduced a regression:

    While returning from exception handling in case of PREEMPT enabled,
    _TIF_NEED_RESCHED bit is checked in TI_FLAGS (thread_info flag) of current
    task. Only if this bit is set, it should continue with the process of
    calling preempt_schedule_irq() to schedule highest priority task if
    available.

    Current code assumes that r8 contains TI_FLAGS and check this for
    _TIF_NEED_RESCHED, but as r8 is modified in the code which executes before
    this check, r8 no longer contains the expected TI_FLAGS information.

    As a result check for comparison with _TIF_NEED_RESCHED was failing even if
    NEED_RESCHED bit is set in the current thread_info flag. Due to this,
    preempt_schedule_irq() and in turn scheduler was not getting called even if
    highest priority task is ready for execution.

    So, store temporary results in r0 instead of r8 to prevent r8 from getting
    modified as subsequent code is dependent on its value.

    Signed-off-by: Priyanka Jain
    CC: [v3.7+]
    Signed-off-by: Benjamin Herrenschmidt

    Priyanka Jain
     
  • If a hash bucket gets full, we "evict" a more/less random entry from it.
    When we do that we don't invalidate the TLB (hpte_remove) because we assume
    the old translation is still technically "valid". This implies that when
    we are invalidating or updating pte, even if HPTE entry is not valid
    we should do a tlb invalidate.

    This was a regression introduced by b1022fbd293564de91596b8775340cf41ad5214c

    Signed-off-by: Aneesh Kumar K.V
    Signed-off-by: Benjamin Herrenschmidt

    Aneesh Kumar K.V
     
  • No code changes, just documenting what's happening a little better.

    Signed-off-by: Michael Neuling
    Signed-off-by: Benjamin Herrenschmidt

    Michael Neuling
     
  • On context switch, we should have no prefetch streams leak from one
    userspace process to another. This frees up prefetch resources for the
    next process.

    Based on patch from Milton Miller.

    Signed-off-by: Michael Neuling
    Signed-off-by: Benjamin Herrenschmidt

    Michael Neuling
     
  • Maynard informed me that neither the oprofile kernel module nor oprofile
    userspace has been updated to support that "legacy" oprofile module
    interface for power8, which is indicated by "ppc64/power8." This results
    in no samples. The solution is to default to the "timer" type, instead.
    The raw entry also should be updated, as "ppc64/ibm-compat-v1" indicates
    to oprofile userspace to use "compatibility events" which are obsolete
    in ISA 2.07.

    Signed-off-by: Nishanth Aravamudan
    Signed-off-by: Benjamin Herrenschmidt

    Nishanth Aravamudan
     
  • For the mpic with a flag MPIC_SINGLE_DEST_CPU, only one bit should be
    set in interrupt destination registers.

    The code is applicable to 64-bit platforms as well as 32-bit.

    Signed-off-by: Zhao Chenhui
    Signed-off-by: Benjamin Herrenschmidt

    chenhui zhao