v2: For patch #2, replace list_for_each_safe with list_for_each_entry_safe. Remove unlikely in WARN_ON. Adjust the coding style. For patch #4, replace list_for_each_safe with list_for_each_entry_safe. Remove "else" after "continue". For patch #5. replace sysfs with ethtool to modify rx_copybreak and rx_pending. v1: The different chips use different rx buffer size. Use skb_add_rx_frag() to reduce memory copy for RX. Hayes Wang (5): r8152: separate the rx buffer size r8152: replace array with linking list for rx information r8152: use alloc_pages for rx buffer r8152: support skb_add_rx_frag r8152: change rx_copybreak and rx_pending through ethtool drivers/net/usb/r8152.c | 374 ++++++++++++++++++++++++++++++++-------- 1 file changed, 304 insertions(+), 70 deletions(-) -- 2.21.0