nbd
950d12ef69
ag71xx: fix a memory corruption bug that happens if you flood the interface with packets while it's being brought down
...
fixes boot time crashes under load reported by matteo
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@22054 3c298f89-4303-0410-b956-a3cf2f4a3e73
2010-07-04 01:31:33 +00:00
nbd
2a9dd36f43
ag71xx: remove rx alignment code for small packets, it seems to break ipv6 for some reason ( fixes #7236 )
...
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@21166 3c298f89-4303-0410-b956-a3cf2f4a3e73
2010-04-26 16:39:13 +00:00
nbd
ea9bbe955d
ar71xx: fix up alignment handling
...
- on ar724x, rx buffers can be aligned with an offset of 2, which keeps the ip header aligned
- alignment offset is only added if the ar8216 workaround is not active and the phy driver does not advertise its own packet alignment
- ar71xx and ar91xx can not handle rx alignment offsets, however taking a hit on unaligned exceptions seems to have less overhead than re-aligning the data for large packets
- use memmove to re-align small packets, if necessary
tested on ar9132, ar7240 and ar7242 based devices without ar8216 headers
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@20892 3c298f89-4303-0410-b956-a3cf2f4a3e73
2010-04-15 23:31:17 +00:00
juhosg
da7aaa905b
ar71xx: ag71xx: avoid unalinged accesses when using the phy specific receive functions
...
Cc: backfire@openwrt.org
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@20751 3c298f89-4303-0410-b956-a3cf2f4a3e73
2010-04-09 08:40:06 +00:00
juhosg
c74f817d15
ar71xx: ag71xx: call the phy driver's netif_receive_skb()
...
Ag71xx needs to call the phy's netif_receive_skb() to allow phy drivers
to mangle rx packets. This patch fixes it.
This fixes the header mangling of the AR8216 driver.
Signed-off-by: Jonas Gorski <jonas.gorski+openwrt@gmail.com>
Cc:backfire@openwrt.org
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@20750 3c298f89-4303-0410-b956-a3cf2f4a3e73
2010-04-09 08:38:46 +00:00
juhosg
040ee7aa28
ar71xx: fix broken LAN ports on the boards with AR8216 switch ( closes #7024 )
...
* cc: backfire@openwrt.org
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@20673 3c298f89-4303-0410-b956-a3cf2f4a3e73
2010-04-03 13:59:08 +00:00
juhosg
90c499bfa0
ar71xx: ag71xx: copy received packet to avoid unaligned access in the IP stack
...
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@20506 3c298f89-4303-0410-b956-a3cf2f4a3e73
2010-03-27 13:05:27 +00:00
juhosg
1a729d6932
ar71xx: ag71xx: introduce ag71xx_has_ar8216() helper
...
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@20505 3c298f89-4303-0410-b956-a3cf2f4a3e73
2010-03-27 13:05:24 +00:00
juhosg
51763ff18e
ar71xx: ag71xx: reorganize ag71xx_rx_packet function
...
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@20504 3c298f89-4303-0410-b956-a3cf2f4a3e73
2010-03-27 13:05:20 +00:00
juhosg
afa983c991
ar71xx: ag71xx: Add netpoll support
...
This patch adds support for polling interrupts, used by
netconsole and the likes.
Tested on d-link dir-615 C1 using netconsole.
Signed-off-by: Pat Erley <pat-lkml@erley.org>
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@20503 3c298f89-4303-0410-b956-a3cf2f4a3e73
2010-03-27 13:05:17 +00:00
agb
651c537f30
[ar71xx] wrt400n: lan ports don't need the ar8216 workaround
...
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@20491 3c298f89-4303-0410-b956-a3cf2f4a3e73
2010-03-26 19:09:11 +00:00
juhosg
e6e9309426
ar71xx: change PHY select logic, and update phy_masks
...
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@20358 3c298f89-4303-0410-b956-a3cf2f4a3e73
2010-03-21 18:16:07 +00:00
juhosg
2feb525193
ar71xx: ag71xx: fix MAC address setup
...
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@20092 3c298f89-4303-0410-b956-a3cf2f4a3e73
2010-03-09 18:05:36 +00:00
juhosg
0955ccfcf3
ar71xx: ag71xx: move calling ag71xx_phy_stop out from spinlock
...
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@20004 3c298f89-4303-0410-b956-a3cf2f4a3e73
2010-03-05 20:29:22 +00:00
juhosg
5b74d557fa
ar71xx: ag71xx: move link update function
...
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@20003 3c298f89-4303-0410-b956-a3cf2f4a3e73
2010-03-05 20:29:18 +00:00
juhosg
99dab77b59
ar71xx: ag71xx: don't use dev->trans_start
...
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@20002 3c298f89-4303-0410-b956-a3cf2f4a3e73
2010-03-05 20:29:14 +00:00
juhosg
54b41868d6
ar71xx: ag71xx: use dma_unmap_single to unmap frames
...
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@20001 3c298f89-4303-0410-b956-a3cf2f4a3e73
2010-03-05 20:29:10 +00:00
juhosg
ee12427e21
ar71xx: ag71xx: use correct device pointer for dma_map_single
...
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@19951 3c298f89-4303-0410-b956-a3cf2f4a3e73
2010-03-02 13:36:18 +00:00
juhosg
a1c949e3fc
ar71xx: ag71xx: don't use virt_to_phys
...
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@19950 3c298f89-4303-0410-b956-a3cf2f4a3e73
2010-03-02 13:36:15 +00:00
juhosg
9cef2f85c2
ar71xx: ag71xx: simplify register access functions
...
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@19949 3c298f89-4303-0410-b956-a3cf2f4a3e73
2010-03-02 13:36:12 +00:00
juhosg
75c4494280
ar71xx: ag71xx: use NETDEV_TX_OK
...
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@19948 3c298f89-4303-0410-b956-a3cf2f4a3e73
2010-03-02 13:36:09 +00:00
juhosg
7bdbc197cd
ar71xx: enable TX/RX flow control on the AR7240
...
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@19832 3c298f89-4303-0410-b956-a3cf2f4a3e73
2010-02-24 13:38:41 +00:00
juhosg
d7d76ebff9
rtl8366: make it available on all platforms
...
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@19329 3c298f89-4303-0410-b956-a3cf2f4a3e73
2010-01-25 15:13:38 +00:00
juhosg
57a1f64fd7
rtl8366s: simplify mib counters handling
...
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@19326 3c298f89-4303-0410-b956-a3cf2f4a3e73
2010-01-25 14:24:53 +00:00
juhosg
e47c4f9d9e
rtl8366_smi: move RTL8366S driver into a separate file
...
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@19279 3c298f89-4303-0410-b956-a3cf2f4a3e73
2010-01-22 17:38:07 +00:00
juhosg
62717a96cd
rtl8366_smi: rename rtl8366s specific functions and definitions
...
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@19278 3c298f89-4303-0410-b956-a3cf2f4a3e73
2010-01-22 17:37:58 +00:00
juhosg
1d1fe9d55e
rtl8366_smi: move chip specific stuff into its own struct
...
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@19277 3c298f89-4303-0410-b956-a3cf2f4a3e73
2010-01-22 17:37:53 +00:00
juhosg
878e6fafb0
rtl8366_smi: separate gpio initialization
...
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@19276 3c298f89-4303-0410-b956-a3cf2f4a3e73
2010-01-22 17:37:50 +00:00
juhosg
d4dafe5ce3
rtl8366_smi: store GPIO numbers directly in the rtl8366_smi struct
...
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@19275 3c298f89-4303-0410-b956-a3cf2f4a3e73
2010-01-22 17:37:47 +00:00
juhosg
0a71019902
rtl8366_smi: store device pointer instead of plaform_device
...
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@19274 3c298f89-4303-0410-b956-a3cf2f4a3e73
2010-01-22 17:37:41 +00:00
juhosg
3e3062918b
rtl8366_smi: rename switch attribute handlers
...
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@19254 3c298f89-4303-0410-b956-a3cf2f4a3e73
2010-01-21 12:13:43 +00:00
juhosg
4162526b1d
rtl8366_smi: simplify rtl8366_attr_get_port_link function
...
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@19250 3c298f89-4303-0410-b956-a3cf2f4a3e73
2010-01-20 20:36:30 +00:00
juhosg
4cff025384
rtl8366_smi: make rtl8366_phy_config_{aneg,init} static
...
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@19249 3c298f89-4303-0410-b956-a3cf2f4a3e73
2010-01-20 20:36:27 +00:00
juhosg
a51fdf9d02
rtl8366_smi: simplify rtl8366_{get,set}_port_vlan_index functions
...
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@19248 3c298f89-4303-0410-b956-a3cf2f4a3e73
2010-01-20 20:36:24 +00:00
juhosg
64f1c1d827
rtl8366_smi: minor code optimalizations
...
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@19247 3c298f89-4303-0410-b956-a3cf2f4a3e73
2010-01-20 20:36:21 +00:00
juhosg
aac113a5bf
rtl8366_smi: coding style cleanup
...
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@19246 3c298f89-4303-0410-b956-a3cf2f4a3e73
2010-01-20 17:40:39 +00:00
juhosg
75c9ca9730
rtl8366_smi: add Kconfig option for the debugfs stuff
...
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@19243 3c298f89-4303-0410-b956-a3cf2f4a3e73
2010-01-20 09:30:36 +00:00
juhosg
01b8553904
rtl8366_smi: fix error checking in rtl8366s_set_vlan_4k_entry
...
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@19242 3c298f89-4303-0410-b956-a3cf2f4a3e73
2010-01-20 09:30:32 +00:00
juhosg
f3d96d2a1e
rtl8366_smi: fix parameter checking in rtl8366_attr_get_vlan_info
...
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@19241 3c298f89-4303-0410-b956-a3cf2f4a3e73
2010-01-20 09:30:25 +00:00
juhosg
72607e76c7
rtl8366_smi: fix return codes in rtl8366s_reset_vlan
...
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@19240 3c298f89-4303-0410-b956-a3cf2f4a3e73
2010-01-20 07:06:18 +00:00
juhosg
e191d5d165
rtl8366_smi: move variable initialization out from the loop
...
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@19239 3c298f89-4303-0410-b956-a3cf2f4a3e73
2010-01-20 07:06:15 +00:00
juhosg
77450dabca
rtl8366_smi: fix port->flags calculation in rtl8366_get_ports
...
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@19237 3c298f89-4303-0410-b956-a3cf2f4a3e73
2010-01-20 07:06:10 +00:00
juhosg
a3545860d0
rtl8366_smi: use inline function instead of a macro on top of container_of
...
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@19215 3c298f89-4303-0410-b956-a3cf2f4a3e73
2010-01-18 09:01:40 +00:00
nbd
a289808594
rtl8366_smi: reset the vlan table when resetting the switch and use vlan get/set ports for vlan member lists
...
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@19206 3c298f89-4303-0410-b956-a3cf2f4a3e73
2010-01-18 00:12:12 +00:00
nbd
efa2a6f909
rtl8366_smi: fix excessive stack usage and buffer handling bugs
...
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@19205 3c298f89-4303-0410-b956-a3cf2f4a3e73
2010-01-18 00:12:07 +00:00
nbd
f79dd5c840
ar71xx: fix return statement in the rtl8366 driver
...
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@19204 3c298f89-4303-0410-b956-a3cf2f4a3e73
2010-01-17 22:57:08 +00:00
juhosg
ad726f6e1c
rtl8366_smi: register the switch directly from the probe routine
...
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@19202 3c298f89-4303-0410-b956-a3cf2f4a3e73
2010-01-17 21:37:09 +00:00
juhosg
221c0d2b2d
rtl8366_smi: use vlanmc name for all vlanconfig variables
...
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@19201 3c298f89-4303-0410-b956-a3cf2f4a3e73
2010-01-17 21:17:59 +00:00
juhosg
c0e88a59a8
rtl8366_smi: use vlan4k name for all vlan4kentry variables
...
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@19200 3c298f89-4303-0410-b956-a3cf2f4a3e73
2010-01-17 21:17:57 +00:00
juhosg
ced9e0d6c7
rtl8366_smi: move memset into the rtl8366s_get_member_config function
...
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@19199 3c298f89-4303-0410-b956-a3cf2f4a3e73
2010-01-17 21:17:53 +00:00