aboutsummaryrefslogtreecommitdiffstats
path: root/target/linux/lantiq/patches-4.4/0025-NET-MIPS-lantiq-adds-xrx200-net.patch
Commit message (Collapse)AuthorAgeFilesLines
* 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: fix unaligned access in xrx200_poll_rx()Alexander Couzens2017-01-301-2/+2
| | | | Signed-off-by: Alexander Couzens <lynxis@fe80.eu>
* lantiq/xrx200-net: Add support for eth0 as WAN interfaceMartin Schiller2016-08-151-1/+1
| | | | | | | | Use priv->wan instead of priv->id as indicator if packets should go to the Ethernet WAN group (DPID=1) or not (DPID=0). This way, it's independant of interface names or indexes. Signed-off-by: Martin Schiller <mschiller@tdt.de>
* lantiq/xrx200-net: fix "tx ring full" error by introducing second DMA TX channelMartin Schiller2016-08-151-17/+31
| | | | | | | | | | With an own DMA TX channel for each network device (eth0 + eth1) there won't be any "tx ring full" errors any more. This patch also move the spinlocks to the channel level instead of locking the whole xrx200_hw structure. Signed-off-by: Martin Schiller <mschiller@tdt.de>
* lantiq: fix some ethernet driver SMP issuesFelix Fietkau2016-08-111-10/+16
| | | | Signed-off-by: Felix Fietkau <nbd@nbd.name>
* lantiq: add VLAN handling fixes to xrx200 ethernet driverFelix Fietkau2016-06-131-17/+37
| | | | Signed-off-by: Felix Fietkau <nbd@nbd.name>
* lantiq: fold 0400-xrx200-net-multi-phy.patch into ↵Felix Fietkau2016-06-131-1/+9
| | | | | | 0025-NET-MIPS-lantiq-adds-xrx200-net.patch Signed-off-by: Felix Fietkau <nbd@nbd.name>
* lantiq: change xrx200 ethernet driver WRED signal to global to fix spurious ↵Felix Fietkau2016-06-121-3/+4
| | | | | | packet loss issues Signed-off-by: Felix Fietkau <nbd@nbd.name>
* lantiq: Add support for linux 4.4Felix Fietkau2016-01-181-0/+3344
The following patches were dropped because they are already applied upstream: - 0038-MIPS-lantiq-fpi-on-ar9.patch - 0039-MIPS-lantiq-initialize-usb-on-boot.patch - 0042-USB-DWC2-big-endian-support.patch - 0043-gpio-stp-xway-fix-phy-mask.patch All other patches were simply refreshed, except the following: - 0001-MIPS-lantiq-add-pcie-driver.patch Changes to arch/mips/lantiq/xway/sysctrl.c (these changes disabled some PMU gates for the vrx200 / VR9 SoCs) were removed since the upstream kernel disables unused PMU gates automatically (since 95135bfa7ead1becc2879230f72583dde2b71a0c "MIPS: Lantiq: Deactivate most of the devices by default"). - 0025-NET-MIPS-lantiq-adds-xrx200-net.patch Since OpenWrt commit 55ba20afcc2fe785146316e5be2c2473cb329885 drivers should use of_get_mac_address(). of_get_mac_address_mtd is not available for drivers anymore since it's called automatically within of_get_mac_address(). - 0028-NET-lantiq-various-etop-fixes.patch Same changes as in 0025-NET-MIPS-lantiq-adds-xrx200-net.patch While refreshing the kernel configuration SPI support had to be moved to config-4.4 because otherwise M25P80 was disabled. Signed-off-by: Martin Blumenstingl <martin.blumenstingl@googlemail.com> SVN-Revision: 48307