1. 10 Jan, 2018 8 commits
    • James Hogan's avatar
      MIPS: CM: Drop WARN_ON(vp != 0) · c04de7b1
      James Hogan authored
      Since commit 68923cdc ("MIPS: CM: Add cluster & block args to
      mips_cm_lock_other()"), mips_smp_send_ipi_mask() has used
      mips_cm_lock_other_cpu() with each CPU number, rather than
      mips_cm_lock_other() with the first VPE in each core. Prior to r6,
      multicore multithreaded systems such as dual-core dual-thread
      interAptivs with CPU Idle enabled (e.g. MIPS Creator Ci40) results in
      mips_cm_lock_other() repeatedly hitting WARN_ON(vp != 0).
      
      There doesn't appear to be anything fundamentally wrong about passing a
      non-zero VP/VPE number, even if it is a core's region that is locked
      into the other region before r6, so remove that particular WARN_ON().
      
      Fixes: 68923cdc ("MIPS: CM: Add cluster & block args to mips_cm_lock_other()")
      Signed-off-by: default avatarJames Hogan <jhogan@kernel.org>
      Reviewed-by: default avatarPaul Burton <paul.burton@mips.com>
      Cc: linux-mips@linux-mips.org
      Cc: stable@vger.kernel.org # 4.14+
      Patchwork: https://patchwork.linux-mips.org/patch/17883/Signed-off-by: default avatarRalf Baechle <ralf@linux-mips.org>
      c04de7b1
    • Arvind Yadav's avatar
      MIPS: ralink: Fix platform_get_irq's error checking · b6ab1a13
      Arvind Yadav authored
      The platform_get_irq() function returns negative if an error occurs.
      zero or positive number on success. platform_get_irq() error checking
      for zero is not correct.
      Signed-off-by: default avatarArvind Yadav <arvind.yadav.cs@gmail.com>
      Cc: john@phrozen.org
      Cc: linux-kernel@vger.kernel.org
      Cc: linux-mips@linux-mips.org
      Patchwork: https://patchwork.linux-mips.org/patch/17783/Signed-off-by: default avatarRalf Baechle <ralf@linux-mips.org>
      b6ab1a13
    • James Hogan's avatar
      MIPS: Fix CPS SMP NS16550 UART defaults · 7e5e371e
      James Hogan authored
      The MIPS_CPS_NS16550_BASE and MIPS_CPS_NS16550_SHIFT options have no
      defaults for non-Malta platforms which select SYS_SUPPORTS_MIPS_CPS
      (i.e. the pistachio and generic platforms). This is problematic for
      automated allyesconfig and allmodconfig builds based on these platforms,
      since make silentoldconfig tries to ask the user for values, and
      especially since v4.15 where the default platform was switched to
      generic.
      
      Default these options to 0 and arrange for MIPS_CPS_NS16550 to be no
      when using that default base address, so that the option only has an
      effect when the default is provided (i.e. Malta) or when a value is
      provided by the user.
      
      Fixes: 609cf6f2 ("MIPS: CPS: Early debug using an ns16550-compatible UART")
      Signed-off-by: default avatarJames Hogan <jhogan@kernel.org>
      Reviewed-by: default avatarPaul Burton <paul.burton@mips.com>
      Tested-by: default avatarGuenter Roeck <linux@roeck-us.net>
      Cc: linux-mips@linux-mips.org
      Cc: linux-kernel@vger.kernel.org
      Cc: linux-mips@linux-mips.org
      Patchwork: https://patchwork.linux-mips.org/patch/17749/Signed-off-by: default avatarRalf Baechle <ralf@linux-mips.org>
      7e5e371e
    • Matt Redfearn's avatar
      MIPS: BCM47XX Avoid compile error with MIPS allnoconfig · dfe00495
      Matt Redfearn authored
      Currently MIPS allnoconfig with CONFIG_BCM47XX=y fails to compile due to
      neither BCM47XX_BCMA nor BCM47XX_SSB being selected. This leads the
      enumeration in arch/mips/include/asm/mach-bcm47xx/bcm47xx.h to be empty,
      and compilation fails:
      
      In file included from arch/mips/bcm47xx/irq.c:32:0:
      ./arch/mips/include/asm/mach-bcm47xx/bcm47xx.h:34:1: error: expected
      identifier before '}' token
       };
       ^
      make[2]: *** [scripts/Makefile.build:314: arch/mips/bcm47xx/irq.o] Error 1
      
      Fix this by ensuring that BCM47XX_SSB is selected if BCM47XX_BCMA is
      not. This allows us to select either system or both, but not neither.
      Signed-off-by: default avatarMatt Redfearn <matt.redfearn@mips.com>
      Cc: James Hogan <james.hogan@mips.com>
      Cc: linux-mips@linux-mips.org
      Cc: linux-kernel@vger.kernel.org
      Patchwork: https://patchwork.linux-mips.org/patch/17703/Signed-off-by: default avatarRalf Baechle <ralf@linux-mips.org>
      dfe00495
    • Matt Redfearn's avatar
      MIPS: RB532: Avoid undefined mac_pton without GENERIC_NET_UTILS · ecff167c
      Matt Redfearn authored
      Currently MIPS allnoconfig with CONFIG_MIKROTIK_RB532=y fails to link
      due to missing support for mac_pton():
      
        LD      vmlinux
      arch/mips/rb532/devices.o: In function `setup_kmac':
      devices.c:(.init.text+0xc): undefined reference to `mac_pton'
      
      Rather than adding dependencies to the platform to force inclusion of
      GENERIC_NET_UTILS which is selected by CONFIG_NET, just exclude the
      setup of the MAC address if CONFIG_NET is not selected in the kernel
      config.
      Signed-off-by: default avatarMatt Redfearn <matt.redfearn@mips.com>
      Cc: James Hogan <james.hogan@mips.com>
      Cc: Boris Brezillon <boris.brezillon@free-electrons.com>
      Cc: Neil Armstrong <narmstrong@baylibre.com>
      Cc: Krzysztof Kozlowski <krzk@kernel.org>
      Cc: Tony Lindgren <tony@atomide.com>
      Cc: Vladimir Zapolskiy <vz@mleia.com>
      Cc: Shawn Guo <shawnguo@kernel.org>
      Cc: linux-mips@linux-mips.org
      Cc: linux-kernel@vger.kernel.org
      Patchwork: https://patchwork.linux-mips.org/patch/17702/Signed-off-by: default avatarRalf Baechle <ralf@linux-mips.org>
      ecff167c
    • Matt Redfearn's avatar
      MIPS: RB532: Avoid undefined early_serial_setup() without SERIAL_8250_CONSOLE · ff9bed94
      Matt Redfearn authored
      Currently MIPS allnoconfig with CONFIG_MIKROTIK_RB532=y fails to link due to
      missing support for early_serial_setup():
      
        LD      vmlinux
      arch/mips/rb532/serial.o: In function `setup_serial_port':
      serial.c:(.init.text+0x14): undefined reference to `early_serial_setup'
      
      Rather than adding dependencies to the platform to force inclusion of
      SERIAL_8250_CONSOLE together with it's dependencies like TTY, HAS_IOMEM,
      etc, just exclude arch/mips/rb532/serial.c from the build when it's
      dependency is not selected in the kernel config.
      Reported-by: default avatarRalf Baechle <ralf@linux-mips.org>
      Signed-off-by: default avatarMatt Redfearn <matt.redfearn@mips.com>
      Cc: James Hogan <james.hogan@mips.com>
      Cc: linux-mips@linux-mips.org
      Cc: linux-kernel@vger.kernel.org
      Patchwork: https://patchwork.linux-mips.org/patch/17701/Signed-off-by: default avatarRalf Baechle <ralf@linux-mips.org>
      ff9bed94
    • Matt Redfearn's avatar
      MIPS: ath25: Avoid undefined early_serial_setup() without SERIAL_8250_CONSOLE · 9dd79fed
      Matt Redfearn authored
      Currently MIPS allnoconfig with CONFIG_ATH25=y fails to link due to
      missing support for early_serial_setup():
      
        LD      vmlinux
      arch/mips/ath25/devices.o: In function ath25_serial_setup':
      devices.c:(.init.text+0x68): undefined reference to 'early_serial_setup'
      
      Rather than adding dependencies to the platform to force inclusion of
      SERIAL_8250_CONSOLE together with it's dependencies like TTY, HAS_IOMEM,
      etc, just make ath25_serial_setup() a no-op when the dependency is not
      selected in the kernel config.
      Signed-off-by: default avatarMatt Redfearn <matt.redfearn@mips.com>
      Cc: James Hogan <james.hogan@mips.com>
      Cc: Thomas Gleixner <tglx@linutronix.de>
      Cc: Philippe Ombredanne <pombredanne@nexb.com>
      Cc: Kate Stewart <kstewart@linuxfoundation.org>
      Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
      Cc: linux-mips@linux-mips.org
      Cc: linux-kernel@vger.kernel.org
      Patchwork: https://patchwork.linux-mips.org/patch/17700/Signed-off-by: default avatarRalf Baechle <ralf@linux-mips.org>
      9dd79fed
    • Jonas Gorski's avatar
      MIPS: AR7: ensure the port type's FCR value is used · 0a5191ef
      Jonas Gorski authored
      Since commit aef9a7bd ("serial/uart/8250: Add tunable RX interrupt
      trigger I/F of FIFO buffers"), the port's default FCR value isn't used
      in serial8250_do_set_termios anymore, but copied over once in
      serial8250_config_port and then modified as needed.
      
      Unfortunately, serial8250_config_port will never be called if the port
      is shared between kernel and userspace, and the port's flag doesn't have
      UPF_BOOT_AUTOCONF, which would trigger a serial8250_config_port as well.
      
      This causes garbled output from userspace:
      
      [    5.220000] random: procd urandom read with 49 bits of entropy available
      ers
         [kee
      
      Fix this by forcing it to be configured on boot, resulting in the
      expected output:
      
      [    5.250000] random: procd urandom read with 50 bits of entropy available
      Press the [f] key and hit [enter] to enter failsafe mode
      Press the [1], [2], [3] or [4] key and hit [enter] to select the debug level
      
      Fixes: aef9a7bd ("serial/uart/8250: Add tunable RX interrupt trigger I/F of FIFO buffers")
      Signed-off-by: default avatarJonas Gorski <jonas.gorski@gmail.com>
      Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
      Cc: Yoshihiro YUNOMAE <yoshihiro.yunomae.ez@hitachi.com>
      Cc: Florian Fainelli <f.fainelli@gmail.com>
      Cc: Nicolas Schichan <nschichan@freebox.fr>
      Cc: linux-mips@linux-mips.org
      Cc: linux-serial@vger.kernel.org
      Patchwork: https://patchwork.linux-mips.org/patch/17544/Signed-off-by: default avatarRalf Baechle <ralf@linux-mips.org>
      0a5191ef
  2. 09 Jan, 2018 4 commits
    • Linus Torvalds's avatar
      Merge branch 'upstream' of git://git.linux-mips.org/pub/scm/ralf/upstream-linus · 44cae9b2
      Linus Torvalds authored
      Pull MIPS fixes from Ralf Baechle:
       "Another round of MIPS fixes for 4.15.
      
         - Maciej Rozycki found another series of FP issues which requires a
           seven part series to restructure and fix.
      
         - James fixes a warning about .set mt which gas doesn't like when
           building for R1 processors"
      
      * 'upstream' of git://git.linux-mips.org/pub/scm/ralf/upstream-linus:
        MIPS: Validate PR_SET_FP_MODE prctl(2) requests against the ABI of the task
        MIPS: Disallow outsized PTRACE_SETREGSET NT_PRFPREG regset accesses
        MIPS: Also verify sizeof `elf_fpreg_t' with PTRACE_SETREGSET
        MIPS: Fix an FCSR access API regression with NT_PRFPREG and MSA
        MIPS: Consistently handle buffer counter with PTRACE_SETREGSET
        MIPS: Guard against any partial write attempt with PTRACE_SETREGSET
        MIPS: Factor out NT_PRFPREG regset access helpers
        MIPS: CPS: Fix r1 .set mt assembler warning
      44cae9b2
    • Linus Torvalds's avatar
      Merge branch 'for-linus' of git://git.kernel.dk/linux-block · d476c533
      Linus Torvalds authored
      Pull block fixes from Jens Axboe:
       "A set of fixes that should go into this release. This contains:
      
         - An NVMe pull request from Christoph, with a few critical fixes for
           NVMe.
      
         - A block drain queue fix from Ming.
      
         - The concurrent lo_open/release fix for loop"
      
      * 'for-linus' of git://git.kernel.dk/linux-block:
        loop: fix concurrent lo_open/lo_release
        block: drain queue before waiting for q_usage_counter becoming zero
        nvme-fcloop: avoid possible uninitialized variable warning
        nvme-mpath: fix last path removal during traffic
        nvme-rdma: fix concurrent reset and reconnect
        nvme: fix sector units when going between formats
        nvme-pci: move use_sgl initialization to nvme_init_iod()
      d476c533
    • Linus Torvalds's avatar
      Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net · ef7f8cec
      Linus Torvalds authored
      Pull networking fixes from David Miller:
      
       1) Frag and UDP handling fixes in i40e driver, from Amritha Nambiar and
          Alexander Duyck.
      
       2) Undo unintentional UAPI change in netfilter conntrack, from Florian
          Westphal.
      
       3) Revert a change to how error codes are returned from
          dev_get_valid_name(), it broke some apps.
      
       4) Cannot cache routes for ipv6 tunnels in the tunnel is ipv4/ipv6
          dual-stack. From Eli Cooper.
      
       5) Fix missed PMTU updates in geneve, from Xin Long.
      
       6) Cure double free in macvlan, from Gao Feng.
      
       7) Fix heap out-of-bounds write in rds_message_alloc_sgs(), from
          Mohamed Ghannam.
      
       8) FEC bug fixes from FUgang Duan (mis-accounting of dev_id, missed
          deferral of probe when the regulator is not ready yet).
      
       9) Missing DMA mapping error checks in 3c59x, from Neil Horman.
      
      10) Turn off Broadcom tags for some b53 switches, from Florian Fainelli.
      
      11) Fix OOPS when get_target_net() is passed an SKB whose NETLINK_CB()
          isn't initialized. From Andrei Vagin.
      
      12) Fix crashes in fib6_add(), from Wei Wang.
      
      13) PMTU bug fixes in SCTP from Marcelo Ricardo Leitner.
      
      * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net: (56 commits)
        sh_eth: fix TXALCR1 offsets
        mdio-sun4i: Fix a memory leak
        phylink: mark expected switch fall-throughs in phylink_mii_ioctl
        sctp: fix the handling of ICMP Frag Needed for too small MTUs
        sctp: do not retransmit upon FragNeeded if PMTU discovery is disabled
        xen-netfront: enable device after manual module load
        bnxt_en: Fix the 'Invalid VF' id check in bnxt_vf_ndo_prep routine.
        bnxt_en: Fix population of flow_type in bnxt_hwrm_cfa_flow_alloc()
        sh_eth: fix SH7757 GEther initialization
        net: fec: free/restore resource in related probe error pathes
        uapi/if_ether.h: prevent redefinition of struct ethhdr
        ipv6: fix general protection fault in fib6_add()
        RDS: null pointer dereference in rds_atomic_free_op
        sh_eth: fix TSU resource handling
        net: stmmac: enable EEE in MII, GMII or RGMII only
        rtnetlink: give a user socket to get_target_net()
        MAINTAINERS: Update my email address.
        can: ems_usb: improve error reporting for error warning and error passive
        can: flex_can: Correct the checking for frame length in flexcan_start_xmit()
        can: gs_usb: fix return value of the "set_bittiming" callback
        ...
      ef7f8cec
    • Linus Torvalds's avatar
      Merge tag 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/rdma/rdma · 44596f86
      Linus Torvalds authored
      Pull rdma fixes from Doug Ledford:
      
       - One line fix to mlx4 error flow (same as mlx5 fix in last pull
         request, just in the mlx4 driver)
      
       - Fix a race condition in the IPoIB driver. This patch is larger than
         just a one line fix, but resolves a race condition in a fairly
         straight forward manner
      
       - Fix a locking issue in the RDMA netlink code. This patch is also
         larger than I would like for a late -rc. It has, however, had a week
         to bake in the rdma tree prior to this pull request
      
       - One line fix to fix granting remote machine access to memory that
         they don't need and shouldn't have
      
       - One line fix to correct the fact that our sgid/dgid pair is swapped
         from what you would expect when receiving an incoming connection
         request
      
      * tag 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/rdma/rdma:
        IB/srpt: Fix ACL lookup during login
        IB/srpt: Disable RDMA access by the initiator
        RDMA/netlink: Fix locking around __ib_get_device_by_index
        IB/ipoib: Fix race condition in neigh creation
        IB/mlx4: Fix mlx4_ib_alloc_mr error flow
      44596f86
  3. 08 Jan, 2018 13 commits
  4. 07 Jan, 2018 8 commits
  5. 06 Jan, 2018 7 commits