aboutsummaryrefslogtreecommitdiffstats
path: root/target/linux/lantiq/patches-4.9/0025-NET-MIPS-lantiq-adds-xrx200-net.patch
Commit message (Collapse)AuthorAgeFilesLines
* lantiq: fix xrx200 switch carrier stateMathias Kresin2017-09-081-4/+3
| | | | | | | | | | | | | | | | In conditions where none of the switch ports is connected during boot, the priv->port[i].link != priv->port[i].phydev->link condition is false since both link values are equal (false). The carrier of the switch netdev is never set to off and the link state reported by ip is UNKNOWN. Turn the carrier off if none of the switch ports has a link, regardless whether something has been changed. Add a check for a carrier to prevent unnecessary calls to netif_carrier_off() if the carrier is already off. Based on a patch send by Martin Schiller. Signed-off-by: Mathias Kresin <dev@kresin.me>
* lantiq: fix sleep with spinlock held in xrx200 network driverAndrea Merello2017-07-201-3/+4
| | | | | | | | | | | | | | | | | | | | | | | In the xrx200_close() function we call napi_disable(), that could sleep, with priv->hw->chan[i].lock held. This could lead to deadlock and causes the kernel to complain. Look at the code I couldn't convince myself about why we need to protect that specific code part with the lock. IMHO there seems no reason to protect the refcount variables, because AFAIK ndo_close() and ndo_open() callbacks are already called with a semaphore held. Neither I could figure out why napi_disable() have to be called with that lock held. The only remaining code part for which I could guess the lock is useful for is ltq_dma_close() function call. This patch reduces the lock to the said function call, avoiding the sleep-with-spinlock-held situation Signed-off-by: Andrea Merello <andrea.merello@gmail.com> [fold into 0025-NET-MIPS-lantiq-adds-xrx200-net.patch, backport to kernel 4.4] Signed-off-by: Mathias Kresin <dev@kresin.me>
* lantiq: fix broadcasts and vlans in two iface modeMathias Kresin2017-03-111-5/+6
| | | | | | | | | | | | | | | | | The two phy operation mode where one phy is assigned to an interface without lantiq,* device tree property and the other phy is assigned to an interface with the lantiq,wan device property was broken with the multicast package leaks between vlans fixes. Move the multicast packages relevant portmap settings to the condition which handles multicast packages for better readability. Replace the priv->port_map based port_map only for the interface which has the lantiq,switch device tree property set, to allow tagged multicast packages in two phy mode where the lantiq,switch device tree property isn't used. Signed-off-by: Mathias Kresin <dev@kresin.me>
* lantiq: fix broadcast packets leaking on the wrong vlan on xrx200Felix Fietkau2017-02-231-5/+6
| | | | | | | | | | | | | | | The ethernet driver uses a port map override via special tag to control the ports on which multicast packets are sent. This was added to work around an issue in the switch that was occasionally leaking packets onto the wrong vlan. Unfortunately the change had some leftover lines that were overwrting the port map with a list of all ports, thus always leaking packets onto the wront vlan. Fix this by only enabling the override with the VLAN port map and only if a matching VLAN port map was actually found Signed-off-by: Felix Fietkau <nbd@nbd.name>
* lantiq: add support for kernel 4.9Hauke Mehrtens2017-02-111-0/+3392
The following patches were dropped because they are already applied upstream: 0012-pinctrl-lantiq-fix-up-pinmux.patch 0013-MTD-lantiq-xway-fix-invalid-operator.patch 0014-MTD-lantiq-xway-the-latched-command-should-be-persis.patch 0015-MTD-lantiq-xway-remove-endless-loop.patch 0016-MTD-lantiq-xway-add-missing-write_buf-and-read_buf-t.patch 0017-MTD-xway-fix-nand-locking.patch 0044-pinctrl-lantiq-introduce-new-dedicated-devicetree-bi.patch 0045-pinctrl-lantiq-Fix-GPIO-Setup-of-GPIO-Port3.patch 0046-pinctrl-lantiq-2-pins-have-the-wrong-mux-list.patch 0047-irq-fixes.patch 0047-mtd-plat-nand-pass-of-node.patch 0060-usb-dwc2-Add-support-for-Lantiq-ARX-and-XRX-SoCs.patch 0120-MIPS-lantiq-add-support-for-device-tree-file-from-bo.patch 0121-MIPS-lantiq-make-it-possible-to-build-in-no-device-t.patch 122-MIPS-store-the-appended-dtb-address-in-a-variable.patch The PHY driver was reduced to the code adding the LED configuration, the rest is already upstream: 0023-NET-PHY-adds-driver-for-lantiq-PHY11G.patch The SPI driver was replaced with the version pending for upstream inclusion: New driver: 0090-spi-add-transfer_status-callback.patch 0091-spi-lantiq-ssc-add-support-for-Lantiq-SSC-SPI-controller.patch Old driver: 0100-spi-add-support-for-Lantiq-SPI-controller.patch Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>