Hello, I did the IP forwarding test for USB->Ethernet 1 direction as below.
USB--->TSEC1 IP forwarding: PowerPC LINKSYS USB200M Generator/Capturer +-----------------+ +-----------------+ +-------------+ | USB port |<----| AX88172+RTL8201 |<-----|PORT1 | | | +---------------- + | | | | | | | Ethernet 1 |----------------------------->|PORT2 | +-----------------+ +-------------+ When I sent the 64 bytes size packet and if I sent packet with throughput more than 47 Mbps, the kernel error will happen. The error message is the flowing, the eth2 port is usb net port. I noticed that the error message is triggered by NO available memory in the USB net drivers, that is saying we can not alloc_skb from system. The code is in drivers/usb/net/usbnet.c static void rx_submit (struct usbnet *dev, struct urb *urb, gfp_t flags) { struct sk_buff *skb; struct skb_data *entry; int retval = 0; unsigned long lockflags; size_t size = dev->rx_urb_size; if ((skb = alloc_skb (size + NET_IP_ALIGN, flags)) == NULL) { if (netif_msg_rx_err (dev)) devdbg (dev, "no rx skb"); usbnet_defer_kevent (dev, EVENT_RX_MEMORY); usb_free_urb (urb); return; } ... } I think the issue is happening in the usb net drivers, not USB EHCI host drivers. If anybody have any idea, experiences or patch, please give me. TIA. David, I will take a look the AX88772 issue on big endian according your feedback. thank your help. Regards, Dave === eth2: kevent 2 may have been dropped events/0: page allocation failure. order:0, mode:0x20 Call Trace: [C0605930] [C00085D0] (unreliable) [C0605960] [C004A130] [C06059B0] [C0062D08] --- Exception: c0605a80[C06059E0] [C00631E8] (unreliable) [C06059F0] [C016D5A0] [C0605A10] [C0162794] [C0605A50] [C0162BCC] [C0605A80] [C0147E18] [C0605A90] [C01557F4] [C0605AA0] [C0156E4C] [C0605AE0] [C0157834] [C0605B30] [C0158354] [C0605BF0] [C0148C3C] [C0605C00] [C0042B90] [C0605C20] [C0044350] [C0605C40] [C00056D0] [C0605C50] [C000F7BC] --- Exception: 501[C0605D30] [C016DED0] [C0605D40] [C016DC2C] [C0605D50] [C0174D48] [C0605D70] [C016258C] [C0605D80] [C0163E00] [C0605DA0] [C00268C4] [C0605DC0] [C00264D0] [C0605DF0] [C000577C] [C0605E00] [C002657C] [C0605E10] [C00056D4] [C0605E20] [C000F7BC] --- Exception: 501[C0605EE0] [C0250000] (unreliable) [C0605F00] [C0063CB8] [C0605F20] [C0033488] [C0605F40] [C0033638] [C0605FC0] [C00378D0] [C0605FF0] [C000FF54] Mem-info: DMA per-cpu: CPU 0: Hot: hi: 90, btch: 15 usd: 14 Cold: hi: 30, btch: 7 usd: 2 Active:405 inactive:2728 dirty:0 writeback:0 unstable:0 free:184 slab:60948 mapped:186 pagetables:12 DMA free:736kB min:2036kB low:2544kB high:3052kB active:1620kB inactive:10912kB present:260096kB pages_scanned:0 all_unreclaimable? no lowmem_reserve[]: 0 0 DMA: 0*4kB 0*8kB 0*16kB 1*32kB 1*64kB 1*128kB 0*256kB 1*512kB 0*1024kB 0*2048kB 0*4096kB = 736kB Swap cache: add 0, delete 0, find 0/0, race 0+0 Free swap = 0kB Total swap = 0kB Free swap: 0kB 65536 pages of RAM 1184 reserved pages 455 pages shared 0 pages swap cached eth2: kevent 2 may have been dropped events/0: page allocation failure. order:0, mode:0x20 Call Trace: [C0605930] [C00085D0] (unreliable) [C0605960] [C004A130] [C06059B0] [C0062D08] --- Exception: c0605a80[C06059E0] [C00631E8] (unreliable) [C06059F0] [C016D5A0] [C0605A10] [C0162794] [C0605A50] [C0162BCC] [C0605A80] [C0147E18] [C0605A90] [C01557F4] [C0605AA0] [C0156E4C] [C0605AE0] [C0157834] [C0605B30] [C0158354] [C0605BF0] [C0148C3C] [C0605C00] [C0042B90] [C0605C20] [C0044350] [C0605C40] [C00056D0] [C0605C50] [C000F7BC] --- Exception: 501[C0605D30] [C016DED0] [C0605D40] [C016DC2C] [C0605D50] [C0174D48] [C0605D70] [C016258C] [C0605D80] [C0163E00] [C0605DA0] [C00268C4] [C0605DC0] [C00264D0] [C0605DF0] [C000577C] [C0605E00] [C002657C] [C0605E10] [C00056D4] [C0605E20] [C000F7BC] --- Exception: 501[C0605EE0] [C0250000] (unreliable) [C0605F00] [C0063CB8] [C0605F20] [C0033488] [C0605F40] [C0033638] [C0605FC0] [C00378D0] [C0605FF0] [C000FF54] Mem-info: DMA per-cpu: CPU 0: Hot: hi: 90, btch: 15 usd: 14 Cold: hi: 30, btch: 7 usd: 2 Active:405 inactive:2728 dirty:0 writeback:0 unstable:0 free:184 ------------------------------------------------------------------------- Take Surveys. Earn Cash. Influence the Future of IT Join SourceForge.net's Techsay panel and you'll get the chance to share your opinions on IT & business topics through brief surveys - and earn cash http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV _______________________________________________ linux-usb-devel@lists.sourceforge.net To unsubscribe, use the last form field at: https://lists.sourceforge.net/lists/listinfo/linux-usb-devel