openwrt / openwrt/mt76

mt7615 produces massive interrupt errors

Open
#402 10 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
C
Stars
888
Forks
436
PR merge metrics
No merged PRs in 30d

Description

While the current build for my Xiaomi R3P runs very smoothly it shows a lot of interrupt errors caused by the mt7615 chips/drivers. Are these errors of any relevance or just a "cosmetic" thing?

the version I am using is OpenWrt SNAPSHOT r13136-ad27c133eb

root@OpenWrt:~# uptime 
 15:16:49 up 21:12,  load average: 0.11, 0.11, 0.09
root@OpenWrt:~# cat /proc/interrupts 
           CPU0       CPU1       CPU2       CPU3       
  8:   18994042   18994019   18993939   18993963  MIPS GIC Local   1  timer
  9:    1000669          0          0          0  MIPS GIC  63  IPI call
 10:          0     509858          0          0  MIPS GIC  64  IPI call
 11:          0          0    1116472          0  MIPS GIC  65  IPI call
 12:          0          0          0     557813  MIPS GIC  66  IPI call
 13:     774539          0          0          0  MIPS GIC  67  IPI resched
 14:          0    2137015          0          0  MIPS GIC  68  IPI resched
 15:          0          0    2696994          0  MIPS GIC  69  IPI resched
 16:          0          0          0    5773865  MIPS GIC  70  IPI resched
 17:          0          0          0          0  MIPS GIC  19  1e000600.gpio-bank0, 1e000600.gpio-bank1, 1e000600.gpio-bank2
 19:         12          0          0          0  MIPS GIC  33  ttyS0
 21:   40355768          0          0          0  MIPS GIC  10  1e100000.ethernet
 23:         58          0    7974871          0  MIPS GIC  11  mt7615e
 24:         38          0          0   11081282  MIPS GIC  31  mt7615e
 26:          0          0          0          0  1e000600.gpio  18  keys
ERR:     128647

dmesg also shows these mt7615 related errors:

[47100.922692] ------------[ cut here ]------------
[47100.927488] WARNING: CPU: 2 PID: 0 at backports-5.4.27-1/net/mac80211/sta_info.c:1937 ieee80211_sta_update_pending_airtime+0x22c/0x234 [mac80211]
[47100.940512] STA 24:62:ab:0a:fb:8d AC 2 txq pending airtime underflow: 4294966312, 984
[47100.940518] Modules linked in: xt_connlimit nf_conncount iptable_nat xt_state xt_nat xt_helper xt_conntrack xt_connmark xt_connbytes xt_REDIRECT xt_MASQUERADE xt_FLOWOFFLOAD xt_CT nf_nat nf_flow_table_hw nf_flow_table nf_conntrack_rtcache nf_conntrack mt7615e mt7615_common mt76 mac80211 ipt_REJECT cfg80211 xt_time xt_tcpudp xt_tcpmss xt_statistic xt_recent xt_multiport xt_mark xt_mac xt_limit xt_length xt_hl xt_ecn xt_dscp xt_comment xt_TCPMSS xt_LOG xt_HL xt_DSCP xt_CLASSIFY sch_cake nf_reject_ipv4 nf_log_ipv4 nf_defrag_ipv6 nf_defrag_ipv4 iptable_raw iptable_mangle iptable_filter ipt_ECN ip_tables compat sch_tbf sch_ingress sch_htb sch_hfsc em_u32 cls_u32 cls_tcindex cls_route cls_matchall cls_fw cls_flow cls_basic act_skbedit act_mirred ledtrig_heartbeat nf_log_ipv6 nf_log_common ip6table_mangle ip6table_filter ip6_tables ip6t_REJECT x_tables nf_reject_ipv6 ifb leds_gpio gpio_button_hotplug
[47101.027327] CPU: 2 PID: 0 Comm: swapper/2 Not tainted 5.4.36 #0
[47101.033224] Stack : 8f2c5e60 800772d8 80670000 806701ec 806d0000 806701b4 8066f308 8fc11c44
[47101.041559]         80810000 8fc3c724 806b6d03 806082c4 00000002 00000001 8fc11be8 e2301d8e
[47101.049888]         00000000 00000000 80850000 00000000 00000030 0000015a 342e3520 2036332e
[47101.058208]         00000000 00000927 00000000 00006abf 00000000 806d0000 00000000 8ec08790
[47101.066528]         00000009 00000000 00000000 00000000 00000002 80323990 00000008 80810008
[47101.074850]         ...
[47101.077289] Call Trace:
[47101.079750] [<8000b72c>] show_stack+0x30/0x100
[47101.084190] [<805506c4>] dump_stack+0xa4/0xdc
[47101.088541] [<80028058>] __warn+0xc0/0x10c
[47101.092622] [<80028130>] warn_slowpath_fmt+0x8c/0xac
[47101.097706] [<8ec08790>] ieee80211_sta_update_pending_airtime+0x22c/0x234 [mac80211]
[47101.105488] [<8ec01ebc>] ieee80211_report_low_ack+0xf0/0x43c [mac80211]
[47101.112143] [<8ec02220>] ieee80211_free_txskb+0x18/0x30 [mac80211]
[47101.118347] [<8f3153cc>] mt76_tx_complete_skb+0xa8/0xbc [mt76]
[47101.124180] [<8f339eb8>] mt7615_txp_skb_unmap+0x1f0/0x22c [mt7615_common]
[47101.131077] ---[ end trace 308975b9c96e1bc6 ]---

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start at backports-5.4.27-1/net/mac80211/sta_info.c:1937 and trace ieee80211_sta_update_pending_airtime through ieee80211_report_low_ack and the mt76_tx_complete_skb/mt7615_txp_skb_unmap path. Reproduce with the reported /proc/interrupts and dmesg output, then establish whether the interrupt count and airtime-underflow warning affect operation and identify the driver-side change needed.

Written by the indexing model from the issue text.

Assessment

Tech stack
c, linux
Domain
networking, operating-systems
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.