The usual bunch of changes, mostly:
* Addition of the SPDIF support
* Addition of the pre-requisites for the display support
* New boards: Difrence DIT4350, colorfly e708 q1, Dserve DSRV9703C,
Polaroid MID2809PXE4, Orange Pi PC, Orange Pi 2
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1
iQIcBAABAgAGBQJXI4xeAAoJEBx+YmzsjxAgqFoP/1TWPb7EeHzB5AT9EvnA5oVZ
O0ZurXalr2/lgrZqI4iUuAdIHhOJHPH0YwYO6BaUY9XPMqWcEUhBSC0Gol2E80vw
rovtyyASjteg1RBqPDe2jlg1wWdIYwKKe4oGY5XDRLjmqArRba7UhB7w5qW9Hjpv
Q7i/jrdCm3y0UNxoNA1Z1sTjRoUu+rxBmPt3YyCze5sXysUTo27r5bRnRso0c0Fh
sHz6lVrDpk5NN9idRqB9IybYl63FEysG0soWt7DYCMAnDq+fxeGv4LJC8w08BYNa
K+UuwzHzn/8djbRKMcYo+4Vtv1RDU27piHTkLocnpYj+ckOYDNlcmzboBzHu/0uX
oaQ8VU+lhwEydkAqiAtaTNGgmK1ZPD3/L7yrgrMrmyUe+IALLNIUYS7xUPCIQf8k
FQcVTFI+S8qsdRikkb4/WwMkPCmsNwMoU7T0ErZ/akrGrWpm0OMxEpyKFhKumASc
pfmGSdh7BAE/G5Mhcx8cDW1qDSJzPtrTbdmwCu5tQVpzoa7LnNNRFbAZxwwt/SNG
lJXxvg4mcsp+dtEt8c/0XYQxnRMZy5o0gSQVDlqW0gYTyzfZn4l8v0iyv5l54yZv
foJukaMRVvGrO/piPNVQKGJ1O8+xCjv2kjjTYkyoQY7Xs//ZOhp7s9qGlz1/Pq14
Dxsbri9UkawJvwMR9gnD
=tEwH
-----END PGP SIGNATURE-----
Merge tag 'sunxi-dt-for-4.7' of https://git.kernel.org/pub/scm/linux/kernel/git/mripard/linux into next/dt
Merge "Allwinner DT additions for 4.7" from Maxime Ripard:
The usual bunch of changes, mostly:
* Addition of the SPDIF support
* Addition of the pre-requisites for the display support
* New boards: Difrence DIT4350, colorfly e708 q1, Dserve DSRV9703C,
Polaroid MID2809PXE4, Orange Pi PC, Orange Pi 2
* tag 'sunxi-dt-for-4.7' of https://git.kernel.org/pub/scm/linux/kernel/git/mripard/linux: (38 commits)
ARM: dts: sun7i: Enable S/PDIF on the Cubietruck
ARM: sun5i: Add DRAM gates
ARM: sun5i: Add TV encoder gate to the DTSI
ARM: sun5i: dt: Add pll3 and pll7 clocks
ARM: dts: sun8i: Add dts file for the Orange Pi One SBC
ARM: sun7i: dt: Enable dram gate 5 (tve0 clock) for simplefb TV output
ARM: sun4i: dt: Enable dram gate 5 (tve0 clock) for simplefb TV output
ARM: dts: sun5i-a13-olinuxino-micro: enable USB DRC
ARM: dts: sun8i: Base Orange Pi Plus dts on the Orange Pi 2 dts
ARM: dts: sun8i: Orangepi plus gpio keys fixes and improvements
ARM: dts: sun8i: Add dts for Orange Pi 2 SBC
ARM: dts: sun8i: Add Orange Pi PC support
ARM: dts: sun8i: Fix pio nodes Orangepi Plus dts
ARM: dts: sun7i: Add SPDIF to the Itead Ibox
ARM: dts: sun4i: Add SPDIF to the Mele A1000
ARM: dts: sun7i: Add the SPDIF block to the A20
ARM: dts: sun4i: Add the SPDIF block to the A10
ARM: dts: sun7i: Add the SPDIF clk to the A20
ARM: dts: sun4i: Add the SPDIF clk to the A10
ARM: dts: sun7i: Add SPDIF TX pin to the A20
...
adding support for SPI0 and some low
priority fixes for ethernet and interrupt
controller.
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.10 (GNU/Linux)
iQIcBAABAgAGBQJXIzmQAAoJEGFBu2jqvgRNyRQP/0djH3xjrChj0d5plfXpemHn
zbhDZLAB7yjUsxH+umNrqN1t1T6MY3czrOUsM2DtucmMGuIchHC28/EHHMcfrMtl
KYr1pDCIuOIMmbBec2+LZ2+j4/jf5el+MbYQaF1xdFfoI2pj9Z1Xb2EItRV1ahl0
8xBrf/mTz1vlAn4nuJ2AuLj1/igKWYgR9RRvYDvi1EDZJkLBGGxUJtT6RqvH1JrE
Jvw2fnqrcC1W66eI3g5jGuZFT7uvzVG8tU5gtMaee1SY/6o4mvKOc4qD47PWmyyZ
DUrAvxJxTuRJe1G9Og814EeCmlboD6eijsY7vyeXoozsWtR9xcwSGlgxrJMjRhIJ
PuiLPDjxKGPNZI5ZAl0vmMA+jtmZ3Q28q7NcIjytMLel0G9KgW1t6qY3ugoFqris
8vp8bOd0xEC5rBHIvsFlQdOsG2ccjLy7oFulu4q59d/WKXquHpHnbbjNetnSbb8i
GLSia4Hmw+PS/7P933G9ScUQp/lGDM2iGITFMaAqKMLDDF7Pju4dfj0zFpBoGKPU
67lgdEWDeuKQtnyj5V6d/VLgpG6b2r/pqGo2OJta47MyAoVh+4xThnobdNZeuSIp
tAJpmRodG+2OzV67n+OTQnVt0eobdd26oxJl6rmgCWTS2vija0cQ/3Rl3TtpDxFV
i45WLujaUyT2U0L0bEWU
=RVPv
-----END PGP SIGNATURE-----
Merge tag 'davinci-for-v4.7/dt-part2' of git://git.kernel.org/pub/scm/linux/kernel/git/nsekhar/linux-davinci into next/dt
Merge "DaVinci DT updates for v4.7 (part 2)" from Sekhar Nori:
Second set of DT updates for DaVinci
adding support for SPI0 and some low
priority fixes for ethernet and interrupt
controller.
* tag 'davinci-for-v4.7/dt-part2' of git://git.kernel.org/pub/scm/linux/kernel/git/nsekhar/linux-davinci:
ARM: dts: da850: There are 101 interrupts.
ARM: dts: da850: disable mdio and eth0 in da850.dtsi
ARM: davinci: da8xx-dt: Add spi0 lookup for clock matching
ARM: dts: da850: add spi0 to device tree
to the binding-change that made it into 4.6, adds rk3288 i2c controller
nodes and moves the rk3288 thermal data into the soc dtsi, as there
really is no need to have that separate file.
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1
iQEcBAABCAAGBQJXIoqfAAoJEPOmecmc0R2BBX0H/iBNCd50u66X9sAgpoi9HgPs
QghFjG9wxXUAtSGfMWirgmjMVNwCfNBTPUMHgZpIn61Yxgm5vh1dNTiBIGYoNVwv
XLLgSRmc4tHKdRQmdw2bik9Do4AKR0NfWN4UG1YtaJnPWVGiBPnlvGqr8sdJHZkS
VEPeh5sUgLi8nI5fR2UQxTlv5Epptal72k5kWrPWtLuFN3diPOPZ5tblSESt5OIE
EfNARkNVLMRtt+nEZyWF8hFtdIF+gJ+9CKwIt83w9c2Mudbrcpha+HYzOWVMUIY/
g0itfsoW48PyI81UpoBaNmKQXj5S0k8HuDrZ65HMgYWm9pJ5dNsJdlcyQolRmKM=
=rD4T
-----END PGP SIGNATURE-----
Merge tag 'v4.7-rockchip-dts32-2' of git://git.kernel.org/pub/scm/linux/kernel/git/mmind/linux-rockchip into next/dt
Merge "Rockchip dts32 updates for v4.7 - part2" from Heiko Stübner:
This adds the rk3288-miqi as new board, adapts the edp-phy settings
to the binding-change that made it into 4.6, adds rk3288 i2c controller
nodes and moves the rk3288 thermal data into the soc dtsi, as there
really is no need to have that separate file.
* tag 'v4.7-rockchip-dts32-2' of git://git.kernel.org/pub/scm/linux/kernel/git/mmind/linux-rockchip:
ARM: dts: rockchip: move the rk3288 thermal data into rk3288.dtsi
ARM: dts: rockchip: add MiQi board from mqmaker
dt-bindings: add vendor-prefix for mqmaker
ARM: dts: rockchip: move rk3288 edp phy under the GRF
ARM: dts: rockchip: make rk3288-grf a simple-mfd
ARM: dts: rockchip: add i2c nodes for RK3228 SoCs
- Mention the arm64 SoCs in the MAINTAINER file
- Enable syscon drivers for Marvell Armada 7K/8K (replacing the clk
one)
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1
iEYEABECAAYFAlcjbA8ACgkQCwYYjhRyO9UmtACffyHUWAI1TV4ISbyyWsn193zk
Z/0AnjJ7k4aynZzi7Pyu5CsGFOealVdv
=ao1Y
-----END PGP SIGNATURE-----
Merge tag 'mvebu-arm64-4.7-1' of git://git.infradead.org/linux-mvebu into next/arm64
Merge "mvebu arm64 for 4.7" from Gregory CLEMENT:
- Mention the arm64 SoCs in the MAINTAINER file
- Enable syscon drivers for Marvell Armada 7K/8K (replacing the clk
one)
* tag 'mvebu-arm64-4.7-1' of git://git.infradead.org/linux-mvebu:
MAINTAINERS: update entry for Marvell ARM platform maintainers
arm64: marvell: enable AP806 and CP110 syscon driver
This commit updates the ARM64 defconfig to include additional options
useful to support the Armada 7K/8K platforms:
- the SPI controller driver, spi-orion
- the support for SPI flashes
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Gregory CLEMENT <gregory.clement@free-electrons.com>
The ARM Juno (r1 and r2) boards feature a SATA controller soldered
on the board and connected to the PCI bus.
Add the respective driver to defconfig to get hard disks supported out
of the box on the Junos.
Signed-off-by: Andre Przywara <andre.przywara@arm.com>
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
- Clean up defconfig with savedefconfig
- Enable 48-bit virtual address support
- Enable driver support for various Freescale/NXP devices
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1
iQEcBAABAgAGBQJXKL+fAAoJEFBXWFqHsHzOLcIH/26qqItBXLZ8k/wMVjvRTpud
7jmZbZTBtl9p+q3CnMyOSoBSWK7ov45SQBDYH0PCNiYgMlRIGA0vli8WGBt/BGo5
NS0p81aCPf7QmE1t4A3HPiteTY4iJOkFwiguC+UOwXlmJ3CmK+07MqaTiUDW+fHV
EVftBG+LHF555JO4vxXXVqF+jHM89ZzLI2G3jjIbn9qjPdmzEF/WYd+H8qVnLTwv
geZ7C9/E3KqsRS1xyBdkK0TbjNPGadu0HrbyRaOTXICD27DxiwipOPa7ScriVYrd
+1mvG85Zwn8lVi4Vrl4A9FSwYSEcDzLqr2vG8Wnbffn0OtpLvp/f+60EOAaK2uM=
=CiZ+
-----END PGP SIGNATURE-----
Merge tag 'imx-defconfig64-4.7' of git://git.kernel.org/pub/scm/linux/kernel/git/shawnguo/linux into next/arm64
Merge "The arm64 defconfig update for Freescale/NXP support" from Shawn Guo:
- Clean up defconfig with savedefconfig
- Enable 48-bit virtual address support
- Enable driver support for various Freescale/NXP devices
* tag 'imx-defconfig64-4.7' of git://git.kernel.org/pub/scm/linux/kernel/git/shawnguo/linux:
arm64: defconfig: enable freescale/nxp config options
arm64: defconfig: enable 48-bit virtual addresses
arm64: defconfig: cleanup the defconfig
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1
iQIcBAABCAAGBQJXMIFoAAoJEGt2WQeBR3Ce7wYP/iOKVi3PR7cvvPtI9Pt7jy69
qWXHcM1gW/ShjiHJtsQa1KafU+AvWet+FpJZtV3NYokgq0MJ7s/9RYyWx+AqZCIn
n/+pSuhl3MNsTDrXz4oajm+5m0lw82Qfc4xF8Pz1giss0Div3LKUX3WmcuUrk4az
mvWrLNIWp8AqusbuETSfmSu1GEV86va65AbWAj0t3WD0RaIF9MLgqZvhm6f1Gyqh
zowEMfTWw4rW7+qOJR0iTI7bv8Kym/3DXvkDEOw7Buqs0ORhCr/83bgKsUc83O8U
Qwh6qP9ZaKsYva4mfSqAMWDnn74gkKpQX8oPta0AhXlubSl004fpAs43Mlf8W/KQ
ZcLjDC9rnCpz8Mjf3dFHWimIDHkVY0DE8cDq6gJ9PP4+TvGts4br0HH+wKAMKn/2
NBNr4sErj5o9MzkSR+9ND0f0sPrZf+04sqys/h+EDS4b+myR08rxX01hf4zoSpgy
N/aboOOMxw0TY6qNgFlcP+x4DmWriI6eWMQCoYJzktG44vIpb/HysWAJwm05m0Hz
Ut3yvHQrs+K1uAJk6pH0E1uKxIdqJczf93gy+oWGUuVJBY5gcSjUJCMbtKYN6QXf
yy6d0Sv2RIKHjmMAvpgGVAgDpYnRui+YOEsTk2o78RgNATiayJG/ydNvnlboMvhk
KqluT45DRkaSu2/DTT5v
=tb2f
-----END PGP SIGNATURE-----
Merge tag 'aspeed-for-4.7-defconfig' of https://github.com/shenki/linux into next/defconfig
Merge "aspeed defconfig for 4.7" from Joel Stanley:
This adds configurations used for testing Aspeed BMC SoCs, as well as adding
the v5 part to the multi defconfig.
* tag 'aspeed-for-4.7-defconfig' of https://github.com/shenki/linux:
arm/configs: Add Aspeed defconfig
arm/configs/multi_v5: Add Aspeed ast2400
The Ux500 is using buffered IIO as the sensors support
IRQs. The BH1780 ambient light sensor was added to IIO,
so disable the old misc driver and activate the driver
in IIO.
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
Ux500 was enabling the staging drivers due to the RMI4
touchscreen driver, this is now properly upstream, so drop
this and the dead symbol for the old RMI4 hack from
the defconfig.
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
Merge "i.MX defconfig updates for 4.7" from Shawn Guo:
- Update multi_v5_defconfig for i.MX21/27 and systemd support
- Update imx_v6_v7_defconfig to support devices found on various i.MX6
board: FT5x06 and TSC2004 touch, I2C GPIO, MICREL PHY and M41T80 RTC
* tag 'imx-defconfig-4.7' of git://git.kernel.org/pub/scm/linux/kernel/git/shawnguo/linux:
ARM: imx_v6_v7_defconfig: add CONFIG_MICREL_PHY
ARM: imx_v6_v7_defconfig: add CONFIG_I2C_GPIO
ARM: multi_v5_defconfig: Enable recommended options for systemd
ARM: multi_v5_defconfig: Enable support for MX21/MX27
ARM: imx_v6_v7_defconfig: add CONFIG_RTC_DRV_M41T80
ARM: imx_v6_v7_defconfig: add CONFIG_I2C_MUX_GPIO
ARM: imx_v6_v7_defconfig: add FT5x06 and TSC2004 touch support
Merge "ARM: tegra: Default configuration updates for v4.7-rc1" from Thierry Reding:
Enable the XUSB pad controller and XUSB controller drivers on the Tegra
and multi-v7 default configurations.
* tag 'tegra-for-4.7-defconfig' of git://git.kernel.org/pub/scm/linux/kernel/git/tegra/linux:
ARM: multi_v7: Enable Tegra XUSB controller in defconfig
ARM: tegra: Enable XUSB controller in defconfig
based filesystems, SPI NOR and GPIO sysfs
entries.
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.10 (GNU/Linux)
iQIcBAABAgAGBQJXIzjWAAoJEGFBu2jqvgRNq3sP/0sIy4dHzBZxZjWZ39GYbR2G
HMv+mV6F0bA4UUzdA30JQFffRvt2wj6tUjlGtOQmMguMWAFCT0TLSfsw013+Tb6F
xFcOEwrxmTVulr5yAdL6pO2HFAwzTTw1KI2FlQWwIvNUPKE5frI1lkqRa/+fdLax
IPObxgd9kfEsv/O4ISO9Z3ZlIyo69/dVlgHRGJ+9e7cxeg4S6RV8I4/TrTiVn2lL
2dGRMglf4R0dGSupclhDCDDxiCkGbbgpm98z43MYfOcq7XG4aSZGcTZIty+CtD7E
qSj+oDZsSmUuA6kBn97D/BDLUibV009iu8Ien4i+A5RyIFW9BRShavKAaOESJDL6
uhCgVP0IbuY3/0lhrQ4vclNSO961aIeU50N4xsNjz2aEAQzOCfHGyIihU2oCjVBk
LsXumedCm1pg+lVfJsftAQn60T2u4MzpfzZB0A7crmDyVPqK1az+hx5ipcP+FFCc
AhIjMgMObQeINq/R6H9rh4zS/fWZbQiqN14NLrmv50Ti4Mf6Cve+m4WLnmdImggi
tvuJ5MJ+OaCy89dGb/fuGYP5iLKT+U/JsZfoSVzMyVb0A353G73juUz7/K8Wmq5c
IwPKiCXBqM1KRcgoOFFF0KUpLo6ArR54NggYPqAUmyxxrRNQfVvMHLVBtJkWfnjl
KFj+zfA4SPK42yMumJI7
=ocYZ
-----END PGP SIGNATURE-----
Merge tag 'davinci-for-v4.7/defconfig' of git://git.kernel.org/pub/scm/linux/kernel/git/nsekhar/linux-davinci into next/defconfig
Merge "DaVinci defconfig updates for v4.7" from Sekhar Nori:
Some defconfig updates to support systemd
based filesystems, SPI NOR and GPIO sysfs
entries.
* tag 'davinci-for-v4.7/defconfig' of git://git.kernel.org/pub/scm/linux/kernel/git/nsekhar/linux-davinci:
ARM: davinci_all_defconfig: enable SPI and NOR as modules
ARM: davinci_all_defconfig: support systemd
ARM: davinci_all_defconfig: enable GPIO_SYSFS
This patch adds the device tree bindings for the Western Digital's
MyBook Live memory-mapped GPIO controllers.
The gpios will be supported by gpio-mmio code of the
GPIO generic library.
Signed-off-by: Christian Lamparter <chunkeey@googlemail.com>
Acked-by: Rob Herring <robh@kernel.org>
Reviewed-by: Andy Shevchenko <andy.shevchenko@gmail.com>
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
This merges fixes from linux-4.6 into the next/dt64 tree to avoid
a later merge conflict.
* renesas/fixes-2:
arm64: dts: r8a7795: Don't disable referenced optional scif clock
ARM: shmobile: timer: Fix preset_lpj leading to too short delays
Revert "ARM: dts: porter: Enable SCIF_CLK frequency and pins"
ARM: dts: r8a7791: Don't disable referenced optional clocks
Make it possible to name the producer side of a GPIO line using
a "gpio-line-names" property array, modeled on the
"clock-output-names" property from the clock bindings.
This naming is especially useful for:
- Debugging: lines are named after function, not just opaque
offset numbers.
- Exploration: systems where some or all GPIO lines are available
to end users, such as prototyping, one-off's "makerspace usecases"
users are helped by the names of the GPIO lines when tinkering.
This usecase has been surfacing recently.
The gpio-line-names attribute is completely optional.
Example output from lsgpio on a patched Snowball tree:
GPIO chip: gpiochip6, "8000e180.gpio", 32 GPIO lines
line 0: unnamed unused
line 1: "AP_GPIO161" "extkb3" [kernel]
line 2: "AP_GPIO162" "extkb4" [kernel]
line 3: "ACCELEROMETER_INT1_RDY" unused [kernel]
line 4: "ACCELEROMETER_INT2" unused
line 5: "MAG_DRDY" unused [kernel]
line 6: "GYRO_DRDY" unused [kernel]
line 7: "RSTn_MLC" unused
line 8: "RSTn_SLC" unused
line 9: "GYRO_INT" unused
line 10: "UART_WAKE" unused
line 11: "GBF_RESET" unused
line 12: unnamed unused
Cc: Grant Likely <grant.likely@linaro.org>
Cc: Amit Kucheria <amit.kucheria@linaro.org>
Cc: David Mandala <david.mandala@linaro.org>
Cc: Lee Campbell <leecam@google.com>
Cc: devicetree@vger.kernel.org
Acked-by: Rob Herring <robh@kernel.org>
Reviewed-by: Michael Welling <mwelling@ieee.org>
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
arch_mmap_rnd, cpu_have_feature, and arch_randomize_brk are all
defined as globally visible variables.
However the files they are defined in do not include the header files
with the declaration. To avoid a possible mismatch add the missing
include statements so we have proper type checking in place.
Signed-off-by: Heiko Carstens <heiko.carstens@de.ibm.com>
Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
arch_dup_task_struct and the per cpu variable mt_cycles are globally
visible, but do not have any header file with a declaration.
Therefore add it so we have proper type checking in place.
Signed-off-by: Heiko Carstens <heiko.carstens@de.ibm.com>
Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
copy_oldmem_user() and ap_jumptable are private to the files they are
being used in. Therefore make them static.
Signed-off-by: Heiko Carstens <heiko.carstens@de.ibm.com>
Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
With "s390/cpuinfo: simplify locking and skip offline cpus early" we
prevent already that cpus will go away. The additional
get_online_cpus() / put_online_cpus() within show_cacheinfo() is not
needed anymore.
Signed-off-by: Heiko Carstens <heiko.carstens@de.ibm.com>
Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
Move the get_online_cpus() and put_online_cpus() to the start and stop
operation of the seqfile ops. This way there is no need to lock cpu
hotplug again and again for each single cpu.
This way we can also skip offline cpus early if we simply use
cpumask_next() within the next operation.
Signed-off-by: Heiko Carstens <heiko.carstens@de.ibm.com>
Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
The disconnect and later reconnect of a 3270 terminal does not do
a tty hangup. The current session is resumed which is a security
issue.
Do a tty hangup after a unit check has been received.
Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
If an existing 3270 terminal disconnects and reconnects with a
different size, the 3270 driver still works with the old size.
If the new dimensions are larger the output merely looks funny,
if the new dimensions are smaller the terminal is unusable.
To fix this restart the size detection after a unit check has
been received.
Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
When comparing Ethernet address it is better to use the more
generic batadv_compare_eth. The latter is also optimised for
architectures having a fast unaligned access.
Signed-off-by: Antonio Quartulli <a@unstable.cc>
[sven@narfation.org: fix conflicts with current version]
Signed-off-by: Sven Eckelmann <sven@narfation.org>
Signed-off-by: Marek Lindner <mareklindner@neomailbox.ch>
Signed-off-by: Marek Lindner <mareklindner@neomailbox.ch>
Reviewed-by: Sven Eckelmann <sven@narfation.org>
Signed-off-by: Antonio Quartulli <a@unstable.cc>
It is easier to understand that the returned value of a specific function
doesn't have to be 0 when the functions was successful when the actual
return type is bool. This is especially true when all surrounding functions
with return type int use negative values to return the error code.
Reported-by: Nicholas Krause <xerofoify@gmail.com>
Signed-off-by: Sven Eckelmann <sven@narfation.org>
Signed-off-by: Marek Lindner <mareklindner@neomailbox.ch>
Signed-off-by: Antonio Quartulli <a@unstable.cc>
_batadv_update_route requires that the caller already has a valid reference
for neigh_node. It is therefore not possible that it has an reference
counter of 0 and was still given to this function
The kref_get function instead WARNs (with debug information) when the
reference counter would still be 0. This makes a bug in batman-adv better
visible because kref_get_unless_zero would have ignored this problem.
Signed-off-by: Sven Eckelmann <sven@narfation.org>
Signed-off-by: Marek Lindner <mareklindner@neomailbox.ch>
Signed-off-by: Antonio Quartulli <a@unstable.cc>
The callers of the functions using batadv_hard_iface objects already make
sure that they hold a valid reference. The subfunctions don't have
to check whether the reference counter is > 0 because this was checked by
the callers.
The kref_get function instead WARNs (with debug information) when the
reference counter would still be 0. This makes a bug in batman-adv better
visible because kref_get_unless_zero would have ignored this problem.
Signed-off-by: Sven Eckelmann <sven@narfation.org>
Signed-off-by: Marek Lindner <mareklindner@neomailbox.ch>
Signed-off-by: Antonio Quartulli <a@unstable.cc>
batadv_gw_node_add requires that the caller already has a valid reference
for orig_node. It is therefore not possible that it has an reference
counter of 0 and was still given to this function
The kref_get function instead WARNs (with debug information) when the
reference counter would still be 0. This makes a bug in batman-adv better
visible because kref_get_unless_zero would have ignored this problem.
Signed-off-by: Sven Eckelmann <sven@narfation.org>
Signed-off-by: Marek Lindner <mareklindner@neomailbox.ch>
Signed-off-by: Antonio Quartulli <a@unstable.cc>
batadv_gw_select requires that the caller already has a valid reference for
new_gw_node. It is therefore not possible that it has an reference counter
of 0 and was still given to this function
The kref_get function instead WARNs (with debug information) when the
reference counter would still be 0. This makes a bug in batman-adv better
visible because kref_get_unless_zero would have ignored this problem.
Signed-off-by: Sven Eckelmann <sven@narfation.org>
Signed-off-by: Marek Lindner <mareklindner@neomailbox.ch>
Signed-off-by: Antonio Quartulli <a@unstable.cc>
batadv_nc_get_nc_node requires that the caller already has a valid
reference for orig_neigh_node. It is therefore not possible that it has an
reference counter of 0 and was still given to this function
The kref_get function instead WARNs (with debug information) when the
reference counter would still be 0. This makes a bug in batman-adv better
visible because kref_get_unless_zero would have ignored this problem.
Signed-off-by: Sven Eckelmann <sven@narfation.org>
Signed-off-by: Marek Lindner <mareklindner@neomailbox.ch>
Signed-off-by: Antonio Quartulli <a@unstable.cc>
batadv_tvlv_container_get requires that tvlv.container_list_lock is held by
the caller. It is therefore not possible that an item in
tvlv.container_list has an reference counter of 0 and is still in the list
The kref_get function instead WARNs (with debug information) when the
reference counter would still be 0. This makes a bug in batman-adv better
visible because kref_get_unless_zero would have ignored this problem.
Signed-off-by: Sven Eckelmann <sven@narfation.org>
Signed-off-by: Marek Lindner <mareklindner@neomailbox.ch>
Signed-off-by: Antonio Quartulli <a@unstable.cc>
The hard_iface is referenced in the packet_type for batman-adv. Increase
the refcounter of the hard_interface for it to have an explicit reference
for it in case this functionality gets refactorted and the currently
used implicit reference for it will be removed.
Signed-off-by: Sven Eckelmann <sven@narfation.org>
Signed-off-by: Marek Lindner <mareklindner@neomailbox.ch>
Signed-off-by: Antonio Quartulli <a@unstable.cc>
The receive function may start processing an incoming packet while the
hard_iface is shut down in a different context. All called functions called
with the batadv_hard_iface object belonging to the incoming interface would
have to check whether the reference counter is still > 0.
This is rather error-prone because this check can be forgotten easily.
Instead check the reference counter when receiving the object to make sure
that all called functions have a valid reference.
Signed-off-by: Sven Eckelmann <sven@narfation.org>
Signed-off-by: Marek Lindner <mareklindner@neomailbox.ch>
Signed-off-by: Antonio Quartulli <a@unstable.cc>
The batadv_hardif_list list is checked in many situations and the items
in this list are given to specialized functions to modify the routing
behavior. At the moment each of these called functions has to check
itself whether the received batadv_hard_iface has a refcount > 0 before
it can increase the reference counter and use it in other objects.
This can easily lead to problems because it is not easily visible where
all callers of a function got the batadv_hard_iface object from and
whether they already hold a valid reference.
Checking the reference counter directly before calling a subfunction
with a pointer from the batadv_hardif_list avoids this problem.
Signed-off-by: Sven Eckelmann <sven@narfation.org>
Signed-off-by: Marek Lindner <mareklindner@neomailbox.ch>
Signed-off-by: Antonio Quartulli <a@unstable.cc>
There are network setups where the current bridge loop avoidance can't
detect bridge loops. The minimal setup affected would consist of two
LANs and two separate meshes, connected in a ring like that:
A...(mesh1)...B
| |
(LAN1) (LAN2)
| |
C...(mesh2)...D
Since both the meshes and backbones are separate, the bridge loop
avoidance has not enough information to detect and avoid the loop
in this case. Even if these scenarios can't be fixed easily,
these kind of loops can be detected.
This patch implements a periodic check (running every 60 seconds for
now) which sends a broadcast frame with a random MAC address on
each backbone VLAN. If a broadcast frame with the same MAC address
is received shortly after on the mesh, we know that there must be a
loop and report that incident as well as throw an uevent to let others
handle that problem.
Signed-off-by: Simon Wunderlich <simon.wunderlich@open-mesh.com>
[sven@narfation.org: fix conflicts with current version]
Signed-off-by: Sven Eckelmann <sven@narfation.org>
Signed-off-by: Marek Lindner <mareklindner@neomailbox.ch>
Signed-off-by: Antonio Quartulli <a@unstable.cc>
When creating a soft interface, create it in the same netns as the
hard interface. Replace all references to init_net with the correct
name space for the interface being manipulated.
Suggested-by: Daniel Ehlers <danielehlers@mindeye.net>
Signed-off-by: Andrew Lunn <andrew@lunn.ch>
Acked-by: Antonio Quartulli <a@unstable.cc>
Signed-off-by: Sven Eckelmann <sven@narfation.org>
Signed-off-by: Marek Lindner <mareklindner@neomailbox.ch>
Signed-off-by: Antonio Quartulli <a@unstable.cc>
The batX soft interface should not be moved between network name
spaces. This is similar to bridges, bonds, tunnels, which are not
allowed to move between network namespaces.
Suggested-by: Daniel Ehlers <danielehlers@mindeye.net>
Signed-off-by: Andrew Lunn <andrew@lunn.ch>
Acked-by: Antonio Quartulli <a@unstable.cc>
Reviewed-by: Sven Eckelmann <sven@narfation.org>
Signed-off-by: Marek Lindner <mareklindner@neomailbox.ch>
Signed-off-by: Antonio Quartulli <a@unstable.cc>
The callers of batadv_interface_rx have to make sure that enough data can
be pulled from the skb when they read the batman-adv header. The only two
functions using it are either calling pskb_may_pull with hdr_size directly
(batadv_recv_bcast_packet) or indirectly via batadv_check_unicast_packet
(batadv_recv_unicast_packet).
Reported-by: Marek Lindner <mareklindner@neomailbox.ch>
Signed-off-by: Sven Eckelmann <sven@narfation.org>
Signed-off-by: Marek Lindner <mareklindner@neomailbox.ch>
Signed-off-by: Antonio Quartulli <a@unstable.cc>
Signed-off-by: Sven Eckelmann <sven@narfation.org>
Signed-off-by: Marek Lindner <mareklindner@neomailbox.ch>
Signed-off-by: Antonio Quartulli <a@unstable.cc>
Subwoofer does not work out of the box on ASUS N751/N551 laptops. This
patch fixes it. Patch tested on N751 laptop. N551 part is not tested,
but according to [1] and [2] this laptop requires similar changes, so I
included them in the patch.
1. https://github.com/honsiorovskyi/asus-n551-hda-fix
2. 1405691
Bugzilla: https://bugzilla.kernel.org/show_bug.cgi?id=117781
Signed-off-by: Yura Pakhuchiy <pakhuchiy@gmail.com>
Cc: <stable@vger.kernel.org>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
caam_jr_alloc() used to return NULL if a JR device could not be
allocated for a session. In turn, every user of this function used
IS_ERR() function to verify if anything went wrong, which does NOT look
for NULL values. This made the kernel crash if the sanity check failed,
because the driver continued to think it had allocated a valid JR dev
instance to the session and at some point it tries to do a caam_jr_free()
on a NULL JR dev pointer.
This patch is a fix for this issue.
Cc: <stable@vger.kernel.org>
Signed-off-by: Catalin Vasile <cata.vasile@nxp.com>
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
It gives significant improvements ( ~+15%) on some modes.
These code has been adopted from OpenSSL project in collaboration
with the original author (Andy Polyakov <appro@openssl.org>).
Signed-off-by: Paulo Flabiano Smorigo <pfsmorigo@linux.vnet.ibm.com>
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
- error in the documentation led to wrongly add a new NAND Flash Controller
type. Switch back to the previous compatible one.
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.11 (GNU/Linux)
iQEcBAABAgAGBQJXMYtYAAoJEAf03oE53VmQfvoH/i2HahAo+hQUaCoTKUYy5rfo
FOII0mpsLrzryiiVX9B+XV1d5cj5obprQfIrKU4nZomZr1iZdhbPtcrItv/uId5d
N2RSdlax+a20nGvo4tKwqmJLOYDWwtcrIFATmGJ1N6VggEeqp7tDE7/QOOxVDpIo
K/DPk49b9ZCRQarJpaYC+xbV6zqpyrONfE6Vna6YJ37iCiH5gVu3Kg/X9CNupyiL
LUwdYoCkYF6yLRSMSe9A/eN49flVH+B8aUvIa1howqtLRLZlW0K4b8+c4P2reKmY
gR/QulhQbcJ0gl4YEX+6ZY5xwnexpAQca9H8f2ivUC12xUjonr3f2mHXgIeQOPE=
=d7Yr
-----END PGP SIGNATURE-----
Merge tag 'at91-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/nferre/linux-at91 into fixes
Merge "at91: fixes for 4.6 #1" from Nicolas Ferre:
Here is a late fix for AT91. Sorry to have figure it out so late in the
development cycle but we had to confirm it was an error with the documentation
of two products.
So, as the compatibility string is in since 4.6-rc1 and that the previous one
works okay, it's a good opportunity to switch back to the one that works without
introducing a intermediary bug.
The revert on driver code and the removal of the useless additional
compatibility string will be queued for 4.7 through NAND/MTD.
* tag 'at91-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/nferre/linux-at91:
ARM: dts: at91: sama5d2: use "atmel,sama5d3-nfc" compatible for nfc
mmc_select_hs200() and mmc_select_hs() will keep the timing
as before if switch fails. So it's meaningless to print the
failed switched mode outside based on the current host timing.
Furthermore, the original print is wrong, it should be:
pr_warn("%s: switch to %s failed\n",
mmc_hostname(card->host),
mmc_card_hs(card) ? "high-speed" :
(mmc_card_hs200(card) ? "hs200" : ""));
Since we already have error message in mmc_select_hs200(),
simply remove it outside.
Signed-off-by: Dong Aisheng <aisheng.dong@nxp.com>
Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org>
Currently MMC core will keep going if HS200/HS timing switch failed
with -EBADMSG error by the assumption that the old timing is still valid.
However, for mmc_select_hs200 case, the signal voltage may have already
been switched. If the timing switch failed, we should fall back to
the old voltage in case the card is continue run with legacy timing.
If fall back signal voltage failed, we explicitly report an EIO error
to force retry during the next power cycle.
Signed-off-by: Dong Aisheng <aisheng.dong@nxp.com>
Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org>