[][HIGH][kernel][common][eth][Change the network device TX queue reset flow]

[Description]
Change the network device TX queue reset flow.

The purpose of resetting the TX queue is to reset the
byte and packet count as well as to clear the software
flow control XOFF bit.

Although the original reset flow is upstream code, we
found that it only resets queue 0 of each network device.
Queues that are not reset may cause unexpected issues.

Without this patch, packets may stop being sent after
Netsys reset and "transmit timeout" log may be displayed.

[Release-log]
N/A


Change-Id: Id968ef0cc3fa91339e8b65e3951a803f079347cf
Reviewed-on: https://gerrit.mediatek.inc/c/openwrt/feeds/mtk_openwrt_feeds/+/9363580
1 file changed
tree: 0f99261df9cac1fab6655ee81dedf7f6bc2663d9
  1. 21.02/
  2. autobuild/
  3. feed/
  4. master/
  5. scripts/
  6. tools/
  7. .checkpatch.conf
  8. .clang-format
  9. .gitignore
  10. prepare_sdk.sh
  11. Readme.md
Readme.md

Brief introduction for using MediaTek released OpenWrt SDK

1. Build system setup

2. Clone vanilla OpenWrt

Currently two release branches are supported:

  1. 21.02 This is the current in-use branch

    git clone -b openwrt-21.02 https://git.openwrt.org/openwrt/openwrt.git
    
  2. master (will be 24.0x branch later) The next version in development

    git clone https://git.openwrt.org/openwrt/openwrt.git
    

3. Add MediaTek OpenWrt feed

cd openwrt
echo "src-git mtk_openwrt_feed https://git01.mediatek.com/openwrt/feeds/mtk-openwrt-feeds" >> feeds.conf.default
./scripts/feeds update -a
./scripts/feeds install -a

4. Apply MediaTek OpenWrt files and patches

  1. 21.02 branch

    cp -af ./feeds/mtk_openwrt_feed/21.02/files/* .
    cp -af ./feeds/mtk_openwrt_feed/tools .
    for file in $(find ./feeds/mtk_openwrt_feed/21.02/patches-base -name "*.patch" | sort); do patch -f -p1 -i ${file}; done
    for file in $(find ./feeds/mtk_openwrt_feed/21.02/patches-feeds -name "*.patch" | sort); do patch -f -p1 -i ${file}; done
    
  2. master branch

    cp -af ./feeds/mtk_openwrt_feed/master/files/* .
    for file in $(find ./feeds/mtk_openwrt_feed/master/patches-base -name "*.patch" | sort); do patch -f -p1 -i ${file}; done
    

5. Configuration

make menuconfig
  1. 21.02 branch

    Target System -> MediaTek Ralink ARM
    Subtarget -> MT7981 / MT7986 / MT7988
    Target Profile -> select as needed
    
  2. master branch

    Target System -> MediaTek Ralink ARM
    Subtarget -> Filogic 8x0 (MT798x)
    Target Profile -> select as needed
    

6. Build

make V=s -j$(nproc)