Commit graph

618730 commits

Author SHA1 Message Date
Mark Rutland
5b1e01f3ce bus: arm-ccn: fix hrtimer registration
The CCN PMU driver has a single hrtimer, used to simulate a periodic
interrupt on systems where the overflow interrupt is not possible to
use. The hrtimer is started when any event is started, and cancelled when
any event is stopped. Thus, stopping a single event is sufficient to
disable to hrtimer, and overflows (of other events) may be lost.

To avoid this, this patch reworks the hrtimer start/cancel to only occur
when the first event is added to a PMU, and the last event removed,
making use of the existing bitmap counting active events.

Signed-off-by: Mark Rutland <mark.rutland@arm.com>
Signed-off-by: Pawel Moll <pawel.moll@arm.com>
2016-08-26 09:16:13 +01:00
Mark Rutland
0811ef7e2f bus: arm-ccn: fix PMU interrupt flags
Currently the IRQ core is permitted to make the CCN PMU IRQ handler
threaded, and will allow userspace to change the CPU affinity of the
interrupt behind our back. Both of these could violate our
synchronisation requirements with the core perf code, which relies upon
strict CPU affinity and disabling of interrupts to guarantee mutual
exclusion in some cases.

As with the CPU PMU drivers, we should request the interrupt with
IRQF_NOBALANCING and IRQF_NO_THREAD, to avoid these issues.

Signed-off-by: Mark Rutland <mark.rutland@arm.com>
Acked-by: Pawel Moll <pawel.moll@arm.com>
Reviewed-by: Will Deacon <will.deacon@arm.com>
Signed-off-by: Pawel Moll <pawel.moll@arm.com>
2016-08-26 09:16:07 +01:00
Brian Foster
800b2694f8 xfs: prevent dropping ioend completions during buftarg wait
xfs_wait_buftarg() waits for all pending I/O, drains the ioend
completion workqueue and walks the LRU until all buffers in the cache
have been released. This is traditionally an unmount operation` but the
mechanism is also reused during filesystem freeze.

xfs_wait_buftarg() invokes drain_workqueue() as part of the quiesce,
which is intended more for a shutdown sequence in that it indicates to
the queue that new operations are not expected once the drain has begun.
New work jobs after this point result in a WARN_ON_ONCE() and are
otherwise dropped.

With filesystem freeze, however, read operations are allowed and can
proceed during or after the workqueue drain. If such a read occurs
during the drain sequence, the workqueue infrastructure complains about
the queued ioend completion work item and drops it on the floor. As a
result, the buffer remains on the LRU and the freeze never completes.

Despite the fact that the overall buffer cache cleanup is not necessary
during freeze, fix up this operation such that it is safe to invoke
during non-unmount quiesce operations. Replace the drain_workqueue()
call with flush_workqueue(), which runs a similar serialization on
pending workqueue jobs without causing new jobs to be dropped. This is
safe for unmount as unmount independently locks out new operations by
the time xfs_wait_buftarg() is invoked.

cc: <stable@vger.kernel.org>
Signed-off-by: Brian Foster <bfoster@redhat.com>
Reviewed-by: Christoph Hellwig <hch@lst.de>
Signed-off-by: Dave Chinner <david@fromorbit.com>
2016-08-26 16:01:59 +10:00
Dave Chinner
f3d7ebdeb2 xfs: fix superblock inprogress check
From inspection, the superblock sb_inprogress check is done in the
verifier and triggered only for the primary superblock via a
"bp->b_bn == XFS_SB_DADDR" check.

Unfortunately, the primary superblock is an uncached buffer, and
hence it is configured by xfs_buf_read_uncached() with:

	bp->b_bn = XFS_BUF_DADDR_NULL;  /* always null for uncached buffers */

And so this check never triggers. Fix it.

cc: <stable@vger.kernel.org>
Signed-off-by: Dave Chinner <dchinner@redhat.com>
Reviewed-by: Brian Foster <bfoster@redhat.com>
Reviewed-by: Christoph Hellwig <hch@lst.de>
Signed-off-by: Dave Chinner <david@fromorbit.com>
2016-08-26 16:01:30 +10:00
Darrick J. Wong
5b5c2dbd3c xfs: simple btree query range should look right if LE lookup fails
If the initial LOOKUP_LE in the simple query range fails to find
anything, we should attempt to increment the btree cursor to see
if there actually /are/ records for what we're trying to find.
Without this patch, a bnobt range query of (0, $agsize) returns
no results because the leftmost record never has a startblock
of zero.

Signed-off-by: Darrick J. Wong <darrick.wong@oracle.com>
Reviewed-by: Christoph Hellwig <hch@lst.de>
Signed-off-by: Dave Chinner <david@fromorbit.com>
2016-08-26 16:00:10 +10:00
Darrick J. Wong
722278997b xfs: fix some key handling problems in _btree_simple_query_range
We only need the record's high key for the first record that we look
at; for all records, we /definitely/ need the regular record key.
Therefore, fix how the simple range query function gets its keys.

Signed-off-by: Darrick J. Wong <darrick.wong@oracle.com>
Reviewed-by: Christoph Hellwig <hch@lst.de>
Signed-off-by: Dave Chinner <david@fromorbit.com>
2016-08-26 15:59:50 +10:00
Darrick J. Wong
da1f039d69 xfs: don't log the entire end of the AGF
When we're logging the last non-spare field in the AGF, we don't
need to log the spare fields, so plumb in a new AGF logging flag
to help us avoid that.

Signed-off-by: Darrick J. Wong <darrick.wong@oracle.com>
Reviewed-by: Christoph Hellwig <hch@lst.de>
Signed-off-by: Dave Chinner <david@fromorbit.com>
2016-08-26 15:59:31 +10:00
Darrick J. Wong
738f57c16a xfs: disallow mounting of realtime + rmap filesystems
Since the kernel doesn't currently support the realtime rmapbt,
don't allow such filesystems to be mounted.  Support will appear
in a future release.

Signed-off-by: Darrick J. Wong <darrick.wong@oracle.com>
Reviewed-by: Carlos Maiolino <cmaiolino@redhat.com>
Reviewed-by: Christoph Hellwig <hch@lst.de>
Signed-off-by: Dave Chinner <david@fromorbit.com>
2016-08-26 15:59:19 +10:00
Darrick J. Wong
ed150e1a5c xfs: don't perform lookups on zero-height btrees
If the caller passes in a cursor to a zero-height btree (which is
impossible), we never set block to anything but NULL, which causes the
later dereference of it to crash.  Instead, just return -EFSCORRUPTED.

Signed-off-by: Darrick J. Wong <darrick.wong@oracle.com>
Reviewed-by: Christoph Hellwig <hch@lst.de>
Signed-off-by: Dave Chinner <david@fromorbit.com>
2016-08-26 15:58:40 +10:00
Jon Hunter
0a10e85b6c ARM: tegra: Correct polarity for Tegra114 PMIC interrupt
The ARM GIC only supports interrupts with either level-high or
rising-edge types for SPIs. The interrupt type for the Palmas PMIC used
for Tegra114 boards is specified as level-low which is invalid for the
GIC. This has gone undetected because until recently, failures to set
the interrupt type when the interrupts are mapped via firmware (such as
device-tree) have not been reported. Since commits 4b357daed6
("genirq: Look-up trigger type if not specified by caller") and
1e2a7d7849 ("irqdomain: Don't set type when mapping an IRQ"), failure
to set the interrupt type will cause the requesting of the interrupt to
fail and exposing incorrectly configured interrupts.

Please note that although the interrupt type was never being set for the
Palmas PMIC, it was still working fine, because the default type setting
for the interrupt, 'level-high', happen to match the correct type for
the interrupt.

Finally, it should be noted that the Palmas interrupt from the PMIC is
actually 'level-low', however, this interrupt signal is inverted by the
Tegra PMC and so the GIC actually sees a 'level-high' interrupt which is
what should be specified in the device-tree interrupt specifier.

Signed-off-by: Jon Hunter <jonathanh@nvidia.com>
Signed-off-by: Thierry Reding <treding@nvidia.com>
Signed-off-by: Olof Johansson <olof@lixom.net>
2016-08-25 17:31:30 -07:00
Olof Johansson
633af91ddb Fix for v4.8-rc1:
1. Select proper eMMC HighSpeed mode on Odroid XU.  DTS was mixing
    "samsung,exynos5250-dw-mshc" compatible (with HS200 as fastest mode)
    with a property "mmc-hs400-1_8v" thus leading to failures during
    probe.
 
 2. Update Krzysztof Kozlowski's email address in maintainers.
 -----BEGIN PGP SIGNATURE-----
 Version: GnuPG v1
 
 iQIcBAABAgAGBQJXtVXwAAoJEME3ZuaGi4PXIa4P/3XxkjOP8WEP+yKml5LWKKAo
 PXyskyQjaq44YnXjOIVJTMafnWZ4ElyP66PJAfA3ebqjmnC0zrtdCoh0EvTZ/PVT
 yl4WHkBhJjidoX3jixWRPsKdbzMVgBNYQGVhWYq3kg/dveuem4jqLeqSHiD0ek5l
 nbPa2p6Itg6kNNFc1FFbMXA4zufngN+gCXCtlcxTu4KjudIKmo8m5eIgQbboCyW4
 +tJl9TiymMGDzxmpGNrET3rO/IELAoMor+8b8VbftcZ+H/g1u1srCLp501GEHIO6
 gz5VJpA4RDcuilZ3LNIsIcm8lUVwJ85X+tExCiMlQ8LN2yVZHY0bhL8WJ+k8Z3Z0
 ELFgGQUNTjpqHshPIGOPRximdEuOljFFyxINXzSH4nx0n9F8Vf456Jd4hjAkSY0b
 emwT+PkCOeYORMrWPnTngNOX41Rpf8e7M7Nx9GPgT43ZkBc4d3vrAki1F47yzXJ9
 3uLIBg+n8Vn9XYo2GAYXe590giQzNDy7o8sBUH7rf1b/8urVGn+/21lPKBsJrtPt
 wkkh5/gDWUxbsvZDhpuq0JmVcamQFiouKe6emuuIKfJDhqy2GQ2Swufq4RIkzBIC
 ivSNFiPflU3dPY4tTZOFceo5ckN0/kvpVaKe/1N0mgt5tNcgS/WCbpH7jlOdYDWt
 n5qECo6BvmW7UMtZezqf
 =YvD5
 -----END PGP SIGNATURE-----

Merge tag 'samsung-fixes-4.8' of git://git.kernel.org/pub/scm/linux/kernel/git/krzk/linux into fixes

Fix for v4.8-rc1:
1. Select proper eMMC HighSpeed mode on Odroid XU.  DTS was mixing
   "samsung,exynos5250-dw-mshc" compatible (with HS200 as fastest mode)
   with a property "mmc-hs400-1_8v" thus leading to failures during
   probe.

2. Update Krzysztof Kozlowski's email address in maintainers.

* tag 'samsung-fixes-4.8' of git://git.kernel.org/pub/scm/linux/kernel/git/krzk/linux:
  MAINTAINERS: Switch to kernel.org account for Krzysztof Kozlowski
  ARM: dts: exynos: Properly select eMMC HighSpeed mode on Odroid XU

Signed-off-by: Olof Johansson <olof@lixom.net>
2016-08-25 17:29:32 -07:00
Olof Johansson
1ce3b12f43 The i.MX fixes for 4.8:
- Fix typo in imx6sx-sabreauto board wakeup property
  - Fix i.MX6UL suspend-to-standby support by adding the
    BM_CLPCR_BYP_MMDC_CH0_LPM_HS handling
  - Fix a i.MX6UL regression on suspend support, which is caused by
    commit 850bea2335 ("arm: Remove unnecessary of_platform_populate
    with default match table")
 -----BEGIN PGP SIGNATURE-----
 Version: GnuPG v1
 
 iQEcBAABAgAGBQJXtQNxAAoJEFBXWFqHsHzOO/gH/2o5IuMylmAxWur8jAudSMc2
 qMD42NJwy6z4z4koMd4O7zQIafR2Sm8jOto8Z07ACAZOaUXU0biat2j9iGm6lv7z
 VTgzlWut+pDTfYXwo4MSZjcW3/Xkc2RgZDQCOlwGlLfjhaFjuk8ZEQxetFPtFveN
 5FYoLzmWRRza6PI4I5uu1TrdJXQlq2qihZd+OD7Qa78yuzrvNzHRfGBH7h+4Hkyn
 uCzaTxh6kyIF9ggK5McMjgAwQv8r/wgJ9mLel9scVULv/qxzefHxKbDX+ewHtZ1q
 t3q7q2UpF00Fxd/Wii2BT7p8LNicbHsqorUMGTk81CMVcOeT652z/LO8rx+13+E=
 =Dgm6
 -----END PGP SIGNATURE-----

Merge tag 'imx-fixes-4.8' of git://git.kernel.org/pub/scm/linux/kernel/git/shawnguo/linux into fixes

The i.MX fixes for 4.8:
 - Fix typo in imx6sx-sabreauto board wakeup property
 - Fix i.MX6UL suspend-to-standby support by adding the
   BM_CLPCR_BYP_MMDC_CH0_LPM_HS handling
 - Fix a i.MX6UL regression on suspend support, which is caused by
   commit 850bea2335 ("arm: Remove unnecessary of_platform_populate
   with default match table")

* tag 'imx-fixes-4.8' of git://git.kernel.org/pub/scm/linux/kernel/git/shawnguo/linux:
  ARM: imx6ul: populates platform device at .init_machine
  ARM: imx6: add missing BM_CLPCR_BYP_MMDC_CH0_LPM_HS setting for imx6ul
  ARM: dts: imx6sx-sabreauto: Fix misspelled property

Signed-off-by: Olof Johansson <olof@lixom.net>
2016-08-25 17:21:37 -07:00
Masahiro Yamada
becc8d3ccd MAINTAINERS: add tree entry for ARM/UniPhier architecture
Add T: entry for a new git tree, which I expect UniPhier SoC
updates will be pulled from.

Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
Signed-off-by: Olof Johansson <olof@lixom.net>
2016-08-25 17:18:34 -07:00
Olof Johansson
fd03819797 Fixes for omaps for v4.8-rc cycle, mostly a series of four fixes for
am335x RTC zero offset for clkctrl register. Also few other fixes:
 
 - Add missing sysc information for DSI as at least n950 needs it for
   the working display
 
 - Fix old elm-id properties that cause nand boot to not work
 
 - Fix overo gpmc nand cs0 range
 
 - FIx overo gpmc nand on boards with ethernet
 
 - Fix logicpd torpedo nand ready pin nand interrupt configuration
 -----BEGIN PGP SIGNATURE-----
 
 iQIuBAABCAAYBQJXszT8ERx0b255QGF0b21pZGUuY29tAAoJEBvUPslcq6Vzyg4Q
 AI2ZbM7Ot6c7jlGfp00rrheCNg83FdDqOP4tLb2MUjzJng564tJgcvLOV6eVo/uR
 1DXGZeK+faWJUxnHNiSviLMzUZfMgiYQtlZAAo8AC9B2PBFC8/2KRWCjN4IvnQhT
 hFeBW6xmwEMeQIYszLFHBwQFvR9pNQs+pXQeehRkQRZjFCVWmZCJpa2vjt8NH/1M
 Vcz7sl9/a741hD/VUIQYndTv9rbVSsxrTbIj3qNYEFVKp85Zl3dMHaCY/16pFbQ1
 SyZhJUw7NSP6wzokmmftXzpWpvIsC19DmlpEiBE+FncDMzXID5WaoPSkiQpAylW9
 x6nVAP51cNndNQR/ZTTQOkCjJPH+ApCnPGbkGwHDuJKgEQ4BCMV97So1Bibz33HK
 T8nQ5nLBul1IDQgys92PH0UHJGV71Y2pebboPdV60qn9zoQF1y8wTaShMPTh7MJs
 8fpCklyt7XwX0T7BLhxNaH1lDkqXQjz2GamQHC1+4njog9Z/GZ1r43GEdQAH7Z6w
 ahjasGiRJa0pQDhR3E04tOmPW34qUdJw7/o3mRTSY7v1yH1mBD7lw9jvC/K2zxFG
 6ZlsOmCJ9os6B+fjyZgfnPcmvb554LBGLN9ac7ammtG3V8K2dEf63LUNCnpJy3kK
 MUJHiU3HFhr6v1hUd8QVGNhhOQJmURCXbONWGAHiualI
 =P5mg
 -----END PGP SIGNATURE-----

Merge tag 'omap-for-v4.8/fixes-rc2' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap into fixes

Fixes for omaps for v4.8-rc cycle, mostly a series of four fixes for
am335x RTC zero offset for clkctrl register. Also few other fixes:

- Add missing sysc information for DSI as at least n950 needs it for
  the working display

- Fix old elm-id properties that cause nand boot to not work

- Fix overo gpmc nand cs0 range

- FIx overo gpmc nand on boards with ethernet

- Fix logicpd torpedo nand ready pin nand interrupt configuration

* tag 'omap-for-v4.8/fixes-rc2' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap:
  ARM: dts: logicpd-somlv: Fix NAND device nodes
  ARM: dts: logicpd-torpedo-som: Provide NAND ready pin
  ARM: dts: overo: fix gpmc nand on boards with ethernet
  ARM: dts: overo: fix gpmc nand cs0 range
  ARM: dts: am335x: Update elm phandle binding
  ARM: OMAP4+: CM: Remove redundant checks for clkctrl_offs of zero
  ARM: OMAP4+: Have _omap4_wait_target_* check for valid clkctrl_offs
  ARM: OMAP2+: AM33XX: Add HWMOD_OMAP4_ZERO_CLKCTRL_OFFSET flag to rtc hwmod
  ARM: OMAP4+: hwmod: Add hwmod flag for HWMOD_OMAP4_ZERO_CLKCTRL_OFFSET
  ARM: OMAP3: hwmod data: Add sysc information for DSI

Signed-off-by: Olof Johansson <olof@lixom.net>
2016-08-25 17:12:23 -07:00
Gao Feng
b628d611a2 8139cp: Fix one possible deadloop in cp_rx_poll
When cp_rx_poll does not get enough packet, it will check the rx
interrupt status again. If so, it will jumpt to rx_status_loop again.
But the goto jump resets the rx variable as zero too.

As a result, it causes one possible deadloop. Assume this case,
rx_status_loop only gets the packet count which is less than budget,
and (cpr16(IntrStatus) & cp_rx_intr_mask) condition is always true.
It causes the deadloop happens and system is blocked.

Signed-off-by: Gao Feng <fgao@ikuai8.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2016-08-25 17:02:48 -07:00
Olof Johansson
8184a34f11 SCPI/Vexpress fixes for v4.8-rc
Couple of minor fixes to add missing of_node_put after calling
 of_parse_phandle in SCPI and vexpress-config bus drivers(Peter Chen)
 -----BEGIN PGP SIGNATURE-----
 Version: GnuPG v1
 
 iQIcBAABCAAGBQJXqIqeAAoJEABBurwxfuKYBhcP/2eEbbxpdAFwRGa9qLciVzAB
 LErQWjzKlYmCdryCWGr2pu2bDbnzMd/1P/UrV4URApjpbElYTC1jNb/p1btmXoxn
 orQIEFN62auTbhmXKCXGiI8pKpsj0GYKI3PVglwRMf6eP2nWSPDgQzzZ5KMOVqpp
 IiPChMCWWR9Or30DnIOMNYyR3hdMnNfF7VINeWrr8Pq55QKnWftBwST0PUO9u+o7
 I8dN2S/fz39MSui+8cjhbQ15FeHlv8isIe0mlVflAl8BN4yUP7gEDsRxNc2LZK1H
 Vo14yza6yMJyociPsrNhVtBgvvM/G+Ic1n1XluSWOLUwqmLOlLozbhVdnWjNTuGY
 yf9tJGyTwXYPZV6grrD0XaKwZCwIdEGw22C36epxrMzsMR6jFodlpMbj6sKLvE7w
 tME7n9k/wqKkIbtLrn5Nr4fYnRvwAse/lHsxRUGEmxq6UZoCfswiwtkay4Rvv3Pr
 bdOp/Dg9Bj++FS6BBJrL9OhU5QvdXw4Oug/3x7l5oH9LWdlKxeArIo57lsw3G4RX
 Q4PfAICXdEoPoWmJdP0+k0Y4ZFV3gjIEwvJxqu2rbtAXoyIHyeZu1SgbEhx/uZ23
 igl52wFeY0UYXanFbHHqx9ZQVHuMWkS7DbcNssO4JK1Py4QQB6PBDfySFDSFgXwI
 SDf1SAYi2tdch/ieLeRb
 =B6NO
 -----END PGP SIGNATURE-----

Merge tag 'vexpress-fixes-4.8-rc' of git://git.kernel.org/pub/scm/linux/kernel/git/sudeep.holla/linux into fixes

SCPI/Vexpress fixes for v4.8-rc

Couple of minor fixes to add missing of_node_put after calling
of_parse_phandle in SCPI and vexpress-config bus drivers(Peter Chen)

* tag 'vexpress-fixes-4.8-rc' of git://git.kernel.org/pub/scm/linux/kernel/git/sudeep.holla/linux:
  firmware: arm_scpi: add missing of_node_put after calling of_parse_phandle
  bus: vexpress-config: add missing of_node_put after calling of_parse_phandle

Signed-off-by: Olof Johansson <olof@lixom.net>
2016-08-25 17:00:10 -07:00
Anjali Singhai Jain
f38ff2ee77 i40e: Change some init flow for the client
This change makes a common flow for Client instance open during init
and reset path. The Client subtask can handle both the cases instead of
making a separate notify_client_of_open call.
Also it may fix a bug during reset where the service task was leaking
some memory and causing issues.

Change-Id: I7232a32fd52b82e863abb54266fa83122f80a0cd
Signed-off-by: Anjali Singhai Jain <anjali.singhai@intel.com>
Tested-by: Andrew Bowers <andrewx.bowers@intel.com>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2016-08-25 16:59:30 -07:00
Olof Johansson
84ba04f26d OMAP-GPMC: fixes for v4.8-rc1
* Allow other children of GPMC to probe even if any child fails.
 This fixes problem on Overo boards where networking device child
 doesn't probe due to broken NAND child.
 -----BEGIN PGP SIGNATURE-----
 Version: GnuPG v1
 
 iQIcBAABAgAGBQJXraKzAAoJENJaa9O+djCTq8QP/RIj9TnKQr3Plc7yD0dJ03kH
 YU4ChBW8pfcxdhnflx4GBxD19k2kp4UJmhDi/H7u+tlXS+OEf7X6EdoYHAqnfi0+
 4E3Ai2Frzi++nZATCsJ4Nj8XaGVzAj4tmjvgx4ktNpbvU4UnmhUVBMEhtNJ3y5sC
 BQrOHAHlsmq44+Ko9vphmaRpnQzt4EgbTxn6yc07SWqjwCskIcOB98xTlC4uaKOX
 ozksRwoGB6BDmNYlzYZFry1ebvaTXa4/K/ymxwmmB3yhL9eCV4Qhg6JHEYnuw0sv
 HyqId34AjS3YUf3zHMtTgRCVjg/iewZSfgLBFNyxp0LZpGzgYiVuOffbiPwRRa2C
 0ciDFMKjhF264ztrl+k/OhG6FxEO96Wqx5eXtcifmR9AG7SHzW2k5aE5XLZogjc3
 cgmWK0QEJ2R1RCmOJ09/c+ap/ap4iwq9rtdu6jSEO737w0mrgLuchkF6DCUVw6j9
 k4CAW16TmJiPqJy3eDkJbTxyZovXT5zgPabuHVtOXWEkxeTOR8bDpKb0VbluEUtT
 mwrU5onLHCLXTXIBb2wrv9g5NUZKoTuK5ONpRAWxQC5BbnyKnY6VK6RTwQJzM/uC
 vziPvLmA+pfxsslowjAy/RLSld3fAqELi8mNgaAPlZZrB1/mzoXa+ZFX+/JkISAu
 66hOYyqQNonNVskW7eIS
 =nLSS
 -----END PGP SIGNATURE-----

Merge tag 'gpmc-omap-v4.8-rc1' of https://github.com/rogerq/linux into fixes

OMAP-GPMC: fixes for v4.8-rc1

Allow other children of GPMC to probe even if any child fails.  This fixes
problem on Overo boards where networking device child doesn't probe due
to broken NAND child.

* tag 'gpmc-omap-v4.8-rc1' of https://github.com/rogerq/linux:
  memory: omap-gpmc: allow probe of child nodes to fail

Signed-off-by: Olof Johansson <olof@lixom.net>
2016-08-25 16:54:16 -07:00
Xander Huff
c3e70edd7c Revert "phy: IRQ cannot be shared"
This reverts:
  commit 33c133cc75 ("phy: IRQ cannot be shared")

On hardware with multiple PHY devices hooked up to the same IRQ line, allow
them to share it.

Sergei Shtylyov says:
  "I'm not sure now what was the reason I concluded that the IRQ sharing
  was impossible... most probably I thought that the kernel IRQ handling
  code exited the loop over the IRQ actions once IRQ_HANDLED was returned
  -- which is obviously not so in reality..."

Signed-off-by: Xander Huff <xander.huff@ni.com>
Signed-off-by: Nathan Sullivan <nathan.sullivan@ni.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2016-08-25 16:53:47 -07:00
Olof Johansson
2586d61f81 mvebu fixes for 4.8 (part 1)
Fix lan numbering for the Armada 388 clearfog board
 -----BEGIN PGP SIGNATURE-----
 Version: GnuPG v1
 
 iEYEABECAAYFAlesKVsACgkQCwYYjhRyO9Ur9gCeNVvnJzBfqYg1t4LBHpjTUdyS
 IPoAnjUOm8j9Upl+blN11iLw4hCwxYey
 =SEqa
 -----END PGP SIGNATURE-----

Merge tag 'mvebu-fixes-4.8-1' of git://git.infradead.org/linux-mvebu into fixes

mvebu fixes for 4.8 (part 1)

Fix lan numbering for the Armada 388 clearfog board

* tag 'mvebu-fixes-4.8-1' of git://git.infradead.org/linux-mvebu:
  ARM: dts: armada-388-clearfog: number LAN ports properly

Signed-off-by: Olof Johansson <olof@lixom.net>
2016-08-25 16:52:29 -07:00
Florian Fainelli
4f101c4779 net: dsa: bcm_sf2: Fix race condition while unmasking interrupts
We kept shadow copies of which interrupt sources we have enabled and
disabled, but due to an order bug in how intrl2_mask_clear was defined,
we could run into the following scenario:

CPU0					CPU1
intrl2_1_mask_clear(..)
sets INTRL2_CPU_MASK_CLEAR
					bcm_sf2_switch_1_isr
					read INTRL2_CPU_STATUS and masks with stale
					irq1_mask value
updates irq1_mask value

Which would make us loop again and again trying to process and interrupt
we are not clearing since our copy of whether it was enabled before
still indicates it was not. Fix this by updating the shadow copy first,
and then unasking at the HW level.

Fixes: 246d7f773c ("net: dsa: add Broadcom SF2 switch driver")
Signed-off-by: Florian Fainelli <f.fainelli@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2016-08-25 16:49:25 -07:00
Eric Dumazet
166ee5b878 qdisc: fix a module refcount leak in qdisc_create_dflt()
Should qdisc_alloc() fail, we must release the module refcount
we got right before.

Fixes: 6da7c8fcbc ("qdisc: allow setting default queuing discipline")
Signed-off-by: Eric Dumazet <edumazet@google.com>
Acked-by: John Fastabend <john.r.fastabend@intel.com>
Acked-by: John Fastabend <john.r.fastabend@intel.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2016-08-25 16:44:20 -07:00
Wei Yongjun
a5de125dd4 tipc: fix the error handling in tipc_udp_enable()
Fix to return a negative error code in enable_mcast() error handling
case, and release udp socket when necessary.

Fixes: d0f91938be ("tipc: add ip/udp media type")
Signed-off-by: Wei Yongjun <weiyongjun1@huawei.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2016-08-25 16:32:34 -07:00
Greg Kroah-Hartman
d1228f4ff3 USB-serial fixes for v4.8-rc4
Here are a couple of fixes for non-atomic allocations in write paths,
 and some new option device ids.
 
 Signed-off-by: Johan Hovold <johan@kernel.org>
 -----BEGIN PGP SIGNATURE-----
 Version: GnuPG v2
 
 iQIcBAABCAAGBQJXvxNgAAoJEEEN5E/e4bSVibEP/1HuoOsGKaOR9RI3y/dRzcFe
 ZVYtKQZ2M+zYBRlkbTGKpGO8urzfNL3T+TfA51i2HUnsa9s4AEFuyoC8eW/amj3D
 mKm2rn0BwPH+E86Pvg0Jgf/tyveCGB3u2rbkZWHhbbJDA/eI2nX1w9DlldSHpZfx
 PgFKPemBeUSc+AKIuw2eAbw4y9Br2hnvb2ZDzXE7CHpiu/Jnk6UuXCO6aygr+IAj
 KK0dcW1D+QBoefHgNNMydk1OMvs5BAl/GdnUn5UqlMfe95b617eaOhkQlM0h+JVk
 yO2zLF8tz64xE5gYzT0PWeHBSl5Ugf0yVQdIypYToldIellIz+2z8TxfQ38U0Fu5
 fyB4c2KAy3+CESDgNZZMYXOPY1sfkjArTrvrbp4lwbgZTlg+CTtcn63OXl0DDhIW
 x5w0KpguralZvjmhjKrmi46TljEX05UV/PqtConXuFujylyXTq36RLF+1OeH+ZyW
 +MGYHHHvqjK4/uqesXmu52UQPq08VaBktxUwqaKhh/0Pg1ta0XcdCH+6dBEeWy5i
 idHFFQBqV9QE08DhLPa24kS+DOpmEUiTi/AOxpdlpDtsW4XkbVv7IF/t3W+sx6G5
 U+XfoujHcYBrIbfiN/kcE1W896Y+MeJ8VhCRxCt8vwmgYXTjwpkYaq2eYaA+zp/Z
 PddZx/fqr8W5ADICIyyj
 =bKLC
 -----END PGP SIGNATURE-----

Merge tag 'usb-serial-4.8-rc4' of git://git.kernel.org/pub/scm/linux/kernel/git/johan/usb-serial into usb-linus

Johan writes:

USB-serial fixes for v4.8-rc4

Here are a couple of fixes for non-atomic allocations in write paths,
and some new option device ids.

Signed-off-by: Johan Hovold <johan@kernel.org>
2016-08-25 17:00:01 -04:00
Adrian Hunter
869c554808 mmc: fix use-after-free of struct request
We call mmc_req_is_special() after having processed a request, but
it could be freed after that. Check that ahead of time, and use
the cached value.

Reported-by: Hans de Goede <hdegoede@redhat.com>
Tested-by: Hans de Goede <hdegoede@redhat.com>
Fixes: c2df40dfb8 ("drivers: use req op accessor")

Signed-off-by: Jens Axboe <axboe@fb.com>
2016-08-25 14:11:43 -06:00
Dave Airlie
969af80f77 Merge tag 'drm-intel-fixes-2016-08-25' of git://anongit.freedesktop.org/drm-intel into drm-fixes
i915 fixes queue.

* tag 'drm-intel-fixes-2016-08-25' of git://anongit.freedesktop.org/drm-intel:
  drm/i915: Fix botched merge that downgrades CSR versions.
  drm/i915/skl: Ensure pipes with changed wms get added to the state
  drm/i915/gen9: Only copy WM results for changed pipes to skl_hw
  drm/i915/skl: Add support for the SAGV, fix underrun hangs
  drm/i915/gen6+: Interpret mailbox error flags
  drm/i915: Reattach comment, complete type specification
  drm/i915: Unconditionally flush any chipset buffers before execbuf
  drm/i915/gen9: Drop invalid WARN() during data rate calculation
  drm/i915/gen9: Initialize intel_state->active_crtcs during WM sanitization (v2)
2016-08-26 05:18:40 +10:00
Baoquan He
7c142bfee6 docs: kernel-parameter: Improve the description of nr_cpus and maxcpus
From the old description people still can't get what's the exact
difference between nr_cpus and maxcpus. Especially in kdump kernel
nr_cpus is always suggested if it's implemented in the ARCH. The
reason is nr_cpus is used to limit the max number of possible cpu
in system, the sum of already plugged cpus and hot plug cpus can't
exceed its value. However maxcpus is used to limit how many cpus
are allowed to be brought up during bootup.

Signed-off-by: Baoquan He <bhe@redhat.com>
Signed-off-by: Jonathan Corbet <corbet@lwn.net>
2016-08-25 13:14:53 -06:00
Daniel Vetter
2b721f2077 drm: Protect fb_defio in drivers with CONFIG_KMS_FBDEV_EMULATION
For reasons that entirely elude me fb.h exposes all the structures,
even when it is not enabled. Except for special stuff like fb_defio.

Which means all the drivers which haven't yet switched over to the
defio support in the helpers and still roll their own, will fail
to compile when fbdev emulation is disabled. Protect just those
bits, as a gnarly reminder that conversion to the core defio helpers
would be good.

Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
Link: http://patchwork.freedesktop.org/patch/msgid/1470847958-28465-6-git-send-email-daniel.vetter@ffwll.ch
Signed-off-by: Dave Airlie <airlied@redhat.com>
2016-08-26 05:11:35 +10:00
Luiz Augusto von Dentz
4f34228b67 Bluetooth: Fix hci_sock_recvmsg when MSG_TRUNC is not set
Similar to bt_sock_recvmsg MSG_TRUNC shall be checked using the original
flags not msg_flags.

Signed-off-by: Luiz Augusto von Dentz <luiz.von.dentz@intel.com>
Signed-off-by: Marcel Holtmann <marcel@holtmann.org>
2016-08-25 20:58:47 +02:00
Luiz Augusto von Dentz
90a56f72ed Bluetooth: Fix bt_sock_recvmsg when MSG_TRUNC is not set
Commit b5f34f9420 attempt to introduce
proper handling for MSG_TRUNC but recv and variants should still work
as read if no flag is passed, but because the code may set MSG_TRUNC to
msg->msg_flags that shall not be used as it may cause it to be behave as
if MSG_TRUNC is always, so instead of using it this changes the code to
use the flags parameter which shall contain the original flags.

Signed-off-by: Luiz Augusto von Dentz <luiz.von.dentz@intel.com>
Signed-off-by: Marcel Holtmann <marcel@holtmann.org>
2016-08-25 20:58:47 +02:00
Wolfram Sang
b31cc4b37e i2c: bcm-kona: fix inconsistent indenting
smatch rightfully says:
drivers/i2c/busses/i2c-bcm-kona.c:646 bcm_kona_i2c_xfer() warn: inconsistent indenting

Signed-off-by: Wolfram Sang <wsa@the-dreams.de>
Reviewed-by: Tim Kryger <tim.kryger@gmail.com>
2016-08-25 18:52:07 +02:00
Wolfram Sang
c13c29186c i2c: rcar: use proper device with dma_mapping_error
We must use the same device we used for mapping.

Signed-off-by: Wolfram Sang <wsa+renesas@sang-engineering.com>
Reviewed-by: Geert Uytterhoeven <geert+renesas@glider.be>
Signed-off-by: Wolfram Sang <wsa@the-dreams.de>
2016-08-25 18:48:47 +02:00
Wolfram Sang
488d69ea72 i2c: sh_mobile: use proper device with dma_mapping_error
We must use the same device we used for mapping.

Signed-off-by: Wolfram Sang <wsa+renesas@sang-engineering.com>
Reviewed-by: Geert Uytterhoeven <geert+renesas@glider.be>
Signed-off-by: Wolfram Sang <wsa@the-dreams.de>
2016-08-25 18:48:12 +02:00
Wolfram Sang
9a5382e8ff i2c: mux: demux-pinctrl: invalidate properly when switching fails
Make sure the index to the active channel is invalidated when switching
fails.

Signed-off-by: Wolfram Sang <wsa+renesas@sang-engineering.com>
Signed-off-by: Wolfram Sang <wsa@the-dreams.de>
2016-08-25 18:41:34 +02:00
Takashi Iwai
a820cd3d25 ASoC: Fixes for v4.8
A clutch of fixes for v4.8.  These are mainly driver specific, the most
 notable ones being those for OMAP which fix a series of issues that
 broke boot on some platforms there when deferred probe kicked in.
 There's also one core fix for an issue when unbinding a card which for
 some reason had managed to not manifest until recently.
 -----BEGIN PGP SIGNATURE-----
 Version: GnuPG v1
 
 iQEcBAABAgAGBQJXvxOuAAoJECTWi3JdVIfQA4oH/ic3TRw9RB1gLgkBrjZshk+v
 07H9eGIbnblYnvq4Y3l3IYb+F9UhdbR5SS7neE7zf0ufVBzxNMJpI+r7qSDsx9m0
 L8HVpKXRYMtQs85tSzrxFgtezvlEGOZq2ojgQOfRJfM+AhBwJaAydKjVZByG/UOS
 4c0AQZRTT1B2ATyF+oW2U221swKFhMqG2lhLvVTSWmmp7oOdpmOcNRdPEeLF/0Pv
 yK3jH1zgulKabbsFebcK1173RwiQh940bFFZiCp4+AxglaufrtFw4UKYv1zHl8ww
 goQ+yeCOsxvhj/tBm1x9rwfXBMGw85o9I/DlNfTJOnXyTDkXN05QP6BrJWNuiO4=
 =5rCd
 -----END PGP SIGNATURE-----

Merge tag 'asoc-fix-v4.8-rc4' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/sound into for-linus

ASoC: Fixes for v4.8

A clutch of fixes for v4.8.  These are mainly driver specific, the most
notable ones being those for OMAP which fix a series of issues that
broke boot on some platforms there when deferred probe kicked in.
There's also one core fix for an issue when unbinding a card which for
some reason had managed to not manifest until recently.
2016-08-25 17:56:09 +02:00
David Hildenbrand
a7d4b8f256 KVM: s390: don't use current->thread.fpu.* when accessing registers
As the meaning of these variables and pointers seems to change more
frequently, let's directly access our save area, instead of going via
current->thread.

Right now, this is broken for set/get_fpu. They simply overwrite the
host registers, as the pointers to the current save area were turned
into the static host save area.

Cc: stable@vger.kernel.org # 4.7
Fixes: 3f6813b9a5 ("s390/fpu: allocate 'struct fpu' with the task_struct")
Reported-by: Hao QingFeng <haoqf@linux.vnet.ibm.com>
Signed-off-by: David Hildenbrand <dahi@linux.vnet.ibm.com>
Signed-off-by: Christian Borntraeger <borntraeger@de.ibm.com>
2016-08-25 17:33:24 +02:00
Doug Ledford
049b1e7c7e Merge branch 'misc-fixes' into k.o/for-4.8-rc 2016-08-25 11:17:10 -04:00
Tatyana Nikolova
07c72d7d54 i40iw: Send last streaming mode message for loopback connections
Send a zero length last streaming mode message for loopback
connections to synchronize between accepting QP and connecting QP.
This avoids data transfer to start on the accepting QP before
the connecting QP is in RTS. Also remove function i40iw_loopback_nop()
as it is no longer used.

Fixes: f27b4746f3 ("i40iw: add connection management code")

Signed-off-by: Tatyana Nikolova <tatyana.e.nikolova@intel.com>
Signed-off-by: Shiraz Saleem <shiraz.saleem@intel.com>
Signed-off-by: Doug Ledford <dledford@redhat.com>
2016-08-25 11:15:47 -04:00
Jens Axboe
f2791e7ead Revert "floppy: refactor open() flags handling"
This reverts commit 09954bad44.
2016-08-25 08:56:51 -06:00
Jens Axboe
468c298ad3 Revert "floppy: fix open(O_ACCMODE) for ioctl-only open"
This reverts commit ff06db1efb.
2016-08-25 08:56:44 -06:00
Andrey Ryabinin
5bb53c0fb8 fs/block_dev: fix potential NULL ptr deref in freeze_bdev()
Calling freeze_bdev() twice on the same block device without mounted
filesystem get_super() will return NULL, which will lead to NULL-ptr
dereference later in drop_super().

Check get_super() result to fix that.

Note, that this is a purely theoretical issue. We have only 3
freeze_bdev() callers. 2 of them are in filesystem code and used on a
device with mounted fs. The third one in lock_fs() has protection in
upper-layer code against freezing block device the second time without
thawing it first.

Signed-off-by: Andrey Ryabinin <aryabinin@virtuozzo.com>
Reviewed-by: Christoph Hellwig <hch@lst.de>
Signed-off-by: Jens Axboe <axboe@fb.com>
2016-08-25 08:38:26 -06:00
Greg Kroah-Hartman
368907ddb2 usb: fixes for v4.8-rc3
Few fixes on dwc3 again, the most important being a
 fix for pm_runtime to make it work with current
 intel platforms.
 
 Other than that, there's a signedness bug fix in fsl
 udc and some other minor fixes.
 -----BEGIN PGP SIGNATURE-----
 
 iQI6BAABCAAkBQJXvrw3HRxmZWxpcGUuYmFsYmlAbGludXguaW50ZWwuY29tAAoJ
 EIaOsuA1yqREWCMP/0zlF8sqCLgTOJcR8wBbzCCY6CLxrWrBxUB5+Ld6gs101f/0
 d1YEqgRtGxauaJVdTfwiSoVTb+WGzG97ExHXBSQjcxniG/3u39Yq+KkKao6+Y4iR
 bqoT7vqPkLqNhVxzIL2Mx0uWBiCibl2NrAfXreNhSxHkabrf6JsWMfQ9Kc0N47/j
 aFRJ4U+NG/q53NbSfpfSxYG0p0LB4BHEpR0BVIKtWxMgFEsdwOMM6ZyqHpw3pede
 km7wqp/7HAUu2rhiZFQtLuPa7yjqlGEZ8vO1ERzIACDy+CiedRoJW+hHE0rJn4TL
 xjCLGEEeH7pP/lqAmsw6oxjg9cdhTakfMcM0374203U31hTIYC6PK1gRMivvE3rD
 zZ8RLU3NCuAh6HBQaHl/k+i3t9U76K/DJuFbSKnO1wwYMlDS2u6WBUWTXFDanYij
 BTIJSrqAEp+Ne3MCMQ0u79daTO5iTAhf08xbMwLJwY9c8k43bFmo2kYoGjo8aAyi
 0U03NYMfuOTqcTpYNlRXyRhFGdCM0wxvYwzGaUs+oxPzzpsrQiotd0Lm8+UWSB/Y
 b4EfsZew0CBNnN3BPgyPDSrntPFiyL6OV2bRkLnxgUlwVEoEIBqTRu0Uv6bsrLkG
 qO4ibILgDbGUIuC8EyyR3ObQcTNQxxLTbdHyrNIq8dcgLypu3tW9jHHCe6vO
 =Tm2m
 -----END PGP SIGNATURE-----

Merge tag 'fixes-for-v4.8-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/balbi/usb into usb-linus

Felipe writes:

usb: fixes for v4.8-rc3

Few fixes on dwc3 again, the most important being a
fix for pm_runtime to make it work with current
intel platforms.

Other than that, there's a signedness bug fix in fsl
udc and some other minor fixes.
2016-08-25 08:54:13 -04:00
Peter Ujfalusi
8c87a44c96 [media] m2m-deinterlace: Fix error print during probe
v4l2_err() can not be used for printing error for missing interleaved
support in DMA as this point the pcdev->v4l2_dev is not valid.

Signed-off-by: Peter Ujfalusi <peter.ujfalusi@ti.com>
Acked-by: Sakari Ailus <sakari.ailus@linux.intel.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@s-opensource.com>
2016-08-25 09:47:12 -03:00
Hans Verkuil
b1cb50beaf [media] redrat3: fix sparse warning
Fix this sparse warning:

drivers/media/rc/redrat3.c:490:18: warning: incorrect type in assignment (different base types)
drivers/media/rc/redrat3.c:495:9: warning: cast to restricted __be32

Signed-off-by: Hans Verkuil <hans.verkuil@cisco.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@s-opensource.com>
2016-08-25 09:46:39 -03:00
Jannik Becher
a769de07ed [media] drivers: hackrf: fixed a coding style issue
changed 'unsigned' to 'unsigned int' to obtain the coding style.

Signed-off-by: Jannik Becher <Becher.Jannik@gmail.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@s-opensource.com>
2016-08-25 09:45:27 -03:00
Sabrina Dubroca
4249fc1f02 netfilter: ebtables: put module reference when an incorrect extension is found
commit bcf4934288 ("netfilter: ebtables: Fix extension lookup with
identical name") added a second lookup in case the extension that was
found during the first lookup matched another extension with the same
name, but didn't release the reference on the incorrect module.

Fixes: bcf4934288 ("netfilter: ebtables: Fix extension lookup with identical name")
Signed-off-by: Sabrina Dubroca <sd@queasysnail.net>
Acked-by: Phil Sutter <phil@nwl.cc>
Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
2016-08-25 13:18:06 +02:00
Liping Zhang
960fa72f67 netfilter: nft_meta: improve the validity check of pkttype set expr
"meta pkttype set" is only supported on prerouting chain with bridge
family and ingress chain with netdev family.

But the validate check is incomplete, and the user can add the nft
rules on input chain with bridge family, for example:
  # nft add table bridge filter
  # nft add chain bridge filter input {type filter hook input \
    priority 0 \;}
  # nft add chain bridge filter test
  # nft add rule bridge filter test meta pkttype set unicast
  # nft add rule bridge filter input jump test

This patch fixes the problem.

Signed-off-by: Liping Zhang <liping.zhang@spreadtrum.com>
Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
2016-08-25 13:12:03 +02:00
Liping Zhang
533e330098 netfilter: cttimeout: unlink timeout objs in the unconfirmed ct lists
KASAN reported this bug:
  BUG: KASAN: use-after-free in icmp_packet+0x25/0x50 [nf_conntrack_ipv4] at
  addr ffff880002db08c8
  Read of size 4 by task lt-nf-queue/19041
  Call Trace:
  <IRQ>  [<ffffffff815eeebb>] dump_stack+0x63/0x88
  [<ffffffff813386f8>] kasan_report_error+0x528/0x560
  [<ffffffff81338cc8>] kasan_report+0x58/0x60
  [<ffffffffa07393f5>] ? icmp_packet+0x25/0x50 [nf_conntrack_ipv4]
  [<ffffffff81337551>] __asan_load4+0x61/0x80
  [<ffffffffa07393f5>] icmp_packet+0x25/0x50 [nf_conntrack_ipv4]
  [<ffffffffa06ecaa0>] nf_conntrack_in+0x550/0x980 [nf_conntrack]
  [<ffffffffa06ec550>] ? __nf_conntrack_confirm+0xb10/0xb10 [nf_conntrack]
  [ ... ]

The main reason is that we missed to unlink the timeout objects in the
unconfirmed ct lists, so we will access the timeout objects that have
already been freed.

Signed-off-by: Liping Zhang <liping.zhang@spreadtrum.com>
Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
2016-08-25 13:11:30 +02:00
Liping Zhang
23aaba5ad5 netfilter: cttimeout: put back l4proto when replacing timeout policy
We forget to call nf_ct_l4proto_put when replacing the existing
timeout policy. Acctually, there's no need to get ct l4proto
before doing replace, so we can move it to a later position.

Signed-off-by: Liping Zhang <liping.zhang@spreadtrum.com>
Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
2016-08-25 13:11:16 +02:00
Liping Zhang
93fac10b99 netfilter: nfnetlink: use list_for_each_entry_safe to delete all objects
cttimeout and acct objects are deleted from the list while traversing
it, so use list_for_each_entry is unsafe here.

Signed-off-by: Liping Zhang <liping.zhang@spreadtrum.com>
Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
2016-08-25 13:11:00 +02:00