Skip to content

mt7601 kernel panic #5

@Thedemon007

Description

@Thedemon007

Hello i am are trying add modules to a android tv of the drivers mt7601u and i give some kernel panic here you can get more info about this history.

I haven't been able to get it to work, anyway at the end are the patch really i am not have a lot of knowledge of driver development so idk if are good fix, i'm just sharing because maybe it's useful, i am getting this code with some help of google, chatgpt and the trace.

First kernel panic:

[  130.815238] Unable to handle kernel NULL pointer dereference at virtual address 00000010
[  130.815244] pgd = c92e4000
[  130.815248] [00000010] *pgd=2d3aa835, *pte=00000000, *ppte=00000000
[  130.815260] Internal error: Oops: 17 [#1] PREEMPT SMP THUMB2
[  130.816391] [<c01bb852>] (__free_pages) from [<bfa808f5>] (mt7601u_dma_cleanup+0x40/0xa4 [mt7601u])
[  130.816435] [<bfa808f5>] (mt7601u_dma_cleanup [mt7601u]) from [<bfa809d5>] (mt7601u_dma_init+0x7c/0x120 [mt7601u])
[  130.816470] [<bfa809d5>] (mt7601u_dma_init [mt7601u]) from [<bfa7e9d5>] (mt7601u_init_hardware+0x104/0x450 [mt7601u])
[  130.816504] [<bfa7e9d5>] (mt7601u_init_hardware [mt7601u]) from [<bfa7e41f>] (mt7601u_probe+0x166/0x194 [mt7601u])
[  130.816528] [<bfa7e41f>] (mt7601u_probe [mt7601u]) from [<c045579d>] (usb_probe_interface+0xc9/0x1e0)
[  130.816539] [<c045579d>] (usb_probe_interface) from [<c03c7e97>] (driver_probe_device+0x153/0x1cc)
[  130.816549] [<c03c7e97>] (driver_probe_device) from [<c03c7f6d>] (__driver_attach+0x5d/0x60)
[  130.816556] [<c03c7f6d>] (__driver_attach) from [<c03c6aff>] (bus_for_each_dev+0x4b/0x78)
[  130.816564] [<c03c6aff>] (bus_for_each_dev) from [<c03c77c5>] (bus_add_driver+0x125/0x184)
[  130.816572] [<c03c77c5>] (bus_add_driver) from [<c03c84cb>] (driver_register+0x33/0x84)
[  130.816580] [<c03c84cb>] (driver_register) from [<c0454a25>] (usb_register_driver+0x55/0xe0)
[  130.816602] [<c0454a25>] (usb_register_driver) from [<bfa8d01f>] (mt7601u_driver_init+0x1e/0xfff [mt7601u])
[  130.816626] [<bfa8d01f>] (mt7601u_driver_init [mt7601u]) from [<c010180d>] (do_one_initcall+0x3d/0x130)
[  130.816635] [<c010180d>] (do_one_initcall) from [<c01b48ef>] (do_init_module+0x47/0x16c)
[  130.816644] [<c01b48ef>] (do_init_module) from [<c01847e1>] (load_module+0x1421/0x1954)
[  130.816651] [<c01847e1>] (load_module) from [<c0184deb>] (SyS_init_module+0xd7/0x108)
[  130.816660] [<c0184deb>] (SyS_init_module) from [<c0106721>] (ret_fast_syscall+0x1/0x54)
[  130.816667] Code: f100 0210 f8b2 f000 (e852) 4f00 
[  130.816673] LR Code: 03ec 2103 f33a f7a8 (f8d4) 03e8 
[  130.816683] ---[ end trace 8821aae12566655a ]---

Second kernel panic:

2940.442469] ==20190822==> hub_port_init 1 #0
[ 2940.442473] Plug in USB Port1
[ 2940.562482] usb 2-1: new high-speed USB device number 2 using Mstar-ehci-1
[ 2940.721102] usb 2-1: New USB device found, idVendor=148f, idProduct=7601
[ 2940.721110] usb 2-1: New USB device strings: Mfr=1, Product=2, SerialNumber=3
[ 2940.721115] usb 2-1: Product: 802.11 n WLAN
[ 2940.721119] usb 2-1: Manufacturer: MediaTek
[ 2940.721123] usb 2-1: SerialNumber: 1.0
[ 2940.726473] ==20190822==> hub_port_init 1 #0
[ 2940.726478] Plug in USB Port1
[ 2940.846458] usb 2-1: reset high-speed USB device number 2 using Mstar-ehci-1
[ 2940.997467] mt7601u 2-1:1.0: ASIC revision: 76010001 MAC revision: 76010500
[ 2940.998232] mt7601u 2-1:1.0: Direct firmware load for mt7601u.bin failed with error 0
[ 2940.998237] mt7601u 2-1:1.0: Falling back to user helper
[ 2940.999613] ueventd: firmware: loading 'mt7601u.bin' for '/devices/Mstar-ehci-1/usb2/2-1/2-1:1.0/firmware/mt7601u.bin'
[ 2941.000205] ueventd: loading /devices/Mstar-ehci-1/usb2/2-1/2-1:1.0/firmware/mt7601u.bin took 0ms
[ 2941.000601] selinux: SELinux: Could not set context for /sys/devices/Mstar-ehci-1/usb2/2-1/2-1:1.0/firmware/mt7601u.bin/power:  No such file or directory\x0a
[ 2941.000659] selinux: SELinux:  Could not read /sys/devices/Mstar-ehci-1/usb2/2-1/2-1:1.0/firmware/mt7601u.bin/power: No such file or directory.\x0a
[ 2941.000751] mt7601u 2-1:1.0: Firmware Version: 0.1.00 Build: 7640 Build time: 201308222058____
[ 2941.000802] selinux: SELinux: Could not set context for /sys/devices/Mstar-ehci-1/usb2/2-1/2-1:1.0/firmware/mt7601u.bin/data:  No such file or directory\x0a
[ 2941.000897] selinux: SELinux: Could not set context for /sys/devices/Mstar-ehci-1/usb2/2-1/2-1:1.0/firmware/mt7601u.bin/uevent:  No such file or directory\x0a
[ 2941.000989] selinux: SELinux: Could not set context for /sys/devices/Mstar-ehci-1/usb2/2-1/2-1:1.0/firmware/mt7601u.bin/loading:  No such file or directory\x0a
[ 2941.001090] ueventd: selinux_android_restorecon(/sys/devices/Mstar-ehci-1/usb2/2-1/2-1:1.0/firmware/mt7601u.bin) failed: Success
[ 2942.081495] usb 2-1: [USB]kworker/0:1 timed out 1000/300 ms on ep0in len=0/4
[ 2942.107497] Alignment trap: not handling instruction e8532f00 at [<c04525c0>]
[ 2942.107503] Unhandled fault: alignment exception (0x001) at 0xc3c25a8b
[ 2942.107506] pgd = c0004000
[ 2942.107509] [c3c25a8b] *pgd=23e1141e(bad)
[ 2942.107518] Internal error: : 1 [#1] PREEMPT SMP THUMB2
[ 2942.107521] Modules linked in: mt7601u(O) mac80211(O) cfg80211 rtk_btusb btmtk_usb(O) uhid firmware_class devnode dtv_driver(O) mstar_fbdev_mi(O) mali_kbase(O) mik(O) misck(PO) mwgifker(PO) xcker(PO) hdcp2x(O) hdcp1x(O) iniparser(O) utpa2k(O) kdrv_alg(O) kdrv_xc(O) kdrv_platform(O) [last unloaded: mt7601u]
[ 2942.107569] CPU: 0 PID: 5312 Comm: kworker/0:1 Tainted: P           O    4.9.118+ #1
[ 2942.107571] Hardware name: mt5862
[ 2942.107581] Workqueue: usb_hub_wq hub_event
[ 2942.107585] task: c181c780 task.stack: c007e000
[ 2942.107591] PC is at usb_poison_urb+0x20/0x88
[ 2942.107610] LR is at mt7601u_dma_cleanup+0xa2/0xdc [mt7601u]
[ 2942.107614] pc : [<c04525c4>]    lr : [<bfad8967>]    psr: 000f0033\x0asp : c007fb08  ip : 00000000  fp : 00000000
[ 2942.107617] r10: bfae00f4  r9 : ca992dc5  r8 : 00000218
[ 2942.107621] r7 : ca992dc0  r6 : c1bfd228  r5 : c0d16548  r4 : c3c25a7f
[ 2942.107624] r3 : c3c25a8b  r2 : 00000000  r1 : 00000001  r0 : c3c25a7f
[ 2942.107628] Flags: nzcv  IRQs on  FIQs on  Mode SVC_32  ISA Thumb  Segment none
[ 2942.107631] Control: 50c0383d  Table: 2b3d406a  DAC: 00000051
[ 2942.107634] \x0aPC: 0xc0452544:
[ 2942.107636] 2544  466900d3 ff62f502 2b0068a3 f24fd1f2 4669505c 00d3f2cc ff14f502 f4cee7d4
[ 2942.107654] 2564  bf00f8b1 4605b570 0614f100 686ce00d 46203c1c fcdaf7ff f2c24630 4620f9a1
[ 2942.107672] 2584  ffa0f7ff f7ff4620 4630fc49 f8a6f2c2 429d682b 4630d1eb 4070e8bd b990f2c2
[ 2942.107689] 25a4  f246b530 f2cc5548 b08705d1 9305682b 4604b1b8 030cf100 f000f8b3 2f00e853
[ 2942.107707] 25c4  0201f102 2100e843 0f00f091 6a83d1f6 6ac3b13b f06fb12b f7ff0101 68a3f8f3
[ 2942.107724] 25e4  9a05b92b 429a682b b007d11b 2100bd30 f5024668 e001fdc7 fb0ef2bf 505cf24f
[ 2942.107742] 2604  f2cc2202 466900d3 ff00f502 2b0068a3 f24fd1f2 4669505c 00d3f2cc feb2f502
[ 2942.107759] 2624  f4cee7df bf00f84f f100b570 46050614 f2c24630 682af853 42957f2b 0301f043
[ 2942.107778] \x0aSP: 0xc007fa88:
[ 2942.107779] fa88  c007e000 c3c25c80 00000001 00040976 00000000 c04525c0 000f0033 ffffffff
[ 2942.107797] faa8  c007faec 00000218 c007e000 c010aa93 c3c25a7f 00000001 00000000 c3c25a8b
[ 2942.107814] fac8  c3c25a7f c0d16548 c1bfd228 ca992dc0 00000218 ca992dc5 bfae00f4 00000000
[ 2942.107832] fae8  00000000 c007fb08 bfad8967 c04525c4 000f0033 ffffffff 00000051 00000000
[ 2942.107849] fb08  00000001 bfad896d c1bfd318 0000001f c1bfd228 00040976 00000218 c1bfd320
[ 2942.107867] fb28  00000020 bfad8967 00000000 c1bfdc88 00000c90 ca992dc0 00000040 bfad8a49
[ 2942.107884] fb48  c0d16548 ca992dc0 00000000 bfade188 02e01c80 bfad69d5 00000064 ca992dc0
[ 2942.107901] fb68  ca992dc5 bfae00f4 00000000 bfad624b 00000024 00040976 00000004 76010001
[ 2942.107919] \x0aR0: 0xc3c259ff:
[ 2942.107921] 59fc  00000000 00045dff 00ac00ac c3c25a08 c3c25a08 00000004 c5c28994 c3c22194
[ 2942.107938] 5a1c  c5c27d94 c94c3000 c7ed7928 00000001 00000000 00000000 00000000 ab6da000
[ 2942.107956] 5a3c  00000000 ab234744 00000000 008b0805 c3c25a4c c3c25a4c 00000000 00000000
[ 2942.107973] 5a5c  00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
[ 2942.107990] 5a7c  01000000 00000000 00000000 00000000 00000000 00000000 00000000 9b000000
[ 2942.108007] 5a9c  9bc3c25a 00c3c25a 00000000 00000000 00000000 00000000 00000000 00000000
[ 2942.108024] 5abc  00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
[ 2942.108041] 5adc  00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
[ 2942.108058] 5afc  00000000 00000001 00000000 c3c25b08 c3c25b08 00000000 00000000 00000000
[ 2942.108075] \x0aR3: 0xc3c25a0b:
[ 2942.108077] 5a08  c3c25a08 c3c25a08 00000004 c5c28994 c3c22194 c5c27d94 c94c3000 c7ed7928
[ 2942.108094] 5a28  00000001 00000000 00000000 00000000 ab6da000 00000000 ab234744 00000000
[ 2942.108111] 5a48  008b0805 c3c25a4c c3c25a4c 00000000 00000000 00000000 00000000 00000000
[ 2942.108129] 5a68  00000000 00000000 00000000 00000000 00000000 01000000 00000000 00000000
[ 2942.108146] 5a88  00000000 00000000 00000000 00000000 9b000000 9bc3c25a 00c3c25a 00000000
[ 2942.108163] 5aa8  00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
[ 2942.108180] 5ac8  00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
[ 2942.108196] 5ae8  00000000 00000000 00000000 00000000 00000000 00000000 00000001 00000000
[ 2942.108213] 5b08  c3c25b08 c3c25b08 00000000 00000000 00000000 c3c25b1c c3c25b1c 00000000
[ 2942.108231] \x0aR4: 0xc3c259ff:
[ 2942.108233] 59fc  00000000 00045dff 00ac00ac c3c25a08 c3c25a08 00000004 c5c28994 c3c22194
[ 2942.108250] 5a1c  c5c27d94 c94c3000 c7ed7928 00000001 00000000 00000000 00000000 ab6da000
[ 2942.108268] 5a3c  00000000 ab234744 00000000 008b0805 c3c25a4c c3c25a4c 00000000 00000000
[ 2942.108285] 5a5c  00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
[ 2942.108302] 5a7c  01000000 00000000 00000000 00000000 00000000 00000000 00000000 9b000000
[ 2942.108319] 5a9c  9bc3c25a 00c3c25a 00000000 00000000 00000000 00000000 00000000 00000000
[ 2942.108336] 5abc  00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
[ 2942.108353] 5adc  00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
[ 2942.108370] 5afc  00000000 00000001 00000000 c3c25b08 c3c25b08 00000000 00000000 00000000
[ 2942.108387] \x0aR5: 0xc0d164c8:
[ 2942.108389] 64c8  00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
[ 2942.108406] 64e8  00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
[ 2942.108423] 6508  00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
[ 2942.108440] 6528  00000000 00000000 00000000 00000000 00000000 00000000 00000100 00000001
[ 2942.108457] 6548  00040976 001fb0d6 0000001f 00000009 00000012 ffffffff 00000000 00000000
[ 2942.108475] 6568  00000000 00000000 00000000 0000000f 0000000f 0000000f 0000000f 00000100
[ 2942.108491] 6588  00000000 c001a500 c001a600 c001a700 c000c400 c001a900 c001aa00 c001ab00
[ 2942.108509] 65a8  00000000 c000a600 000003e8 0009573b 00000001 00000001 00000020 00000001
[ 2942.108527] \x0aR6: 0xc1bfd1a8:
[ 2942.108528] d1a8  00000000 ca147180 00000000 c626f400 00000000 c626f180 00000000 c1219780
[ 2942.108546] d1c8  00000000 c1219380 00000000 c1219680 00000000 c288ec80 00000000 c288e380
[ 2942.108563] d1e8  00000000 c5926f00 00000000 c5926a80 00000000 ccee7500 00000000 ccee7800
[ 2942.108580] d208  00000000 c6220f80 00000000 00000000 00000000 00000040 00000000 00000000
[ 2942.108597] d228  ca992dc0 c6220900 00000000 c6220e80 00000000 cd6dca80 00000000 cd6dc380
[ 2942.108614] d248  00000000 c3b4ea80 00000000 c3b4e580 00000000 ca5e1480 00000000 c3b41180
[ 2942.108632] d268  00000000 c3c24d80 00000000 c3c24780 00000000 c56f0b80 00000000 cca18f00
[ 2942.108649] d288  00000000 cca18b00 00000000 cca18880 00000000 cca18e80 00000000 cca18900
[ 2942.108667] \x0aR7: 0xca992d40:
[ 2942.108668] 2d40  00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
[ 2942.108685] 2d60  00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
[ 2942.108702] 2d80  00000000 00000000 00000000 40000000 ffffffe0 ca992d94 ca992d94 cf9315dd
[ 2942.108720] 2da0  ca992da0 ca992da0 00000000 00000000 00000000 00000000 00000000 00000000
[ 2942.108737] 2dc0  ca992400 c9577820 0000000c 00000001 00000000 ca992dd4 ca992dd4 00000000
[ 2942.108754] 2de0  00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
[ 2942.108771] 2e00  00000000 00000000 00000001 00000000 ca992e10 ca992e10 00000000 00000000
[ 2942.108788] 2e20  00000000 cca09680 e2a45000 3a04f000 00000400 00000000 00000000 ca992e3c
[ 2942.108806] \x0aR9: 0xca992d45:
[ 2942.108807] 2d44  00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
[ 2942.108824] 2d64  00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
[ 2942.108841] 2d84  00000000 00000000 40000000 ffffffe0 ca992d94 ca992d94 cf9315dd ca992da0
[ 2942.108859] 2da4  ca992da0 00000000 00000000 00000000 00000000 00000000 00000000 ca992400
[ 2942.108875] 2dc4  c9577820 0000000c 00000001 00000000 ca992dd4 ca992dd4 00000000 00000000
[ 2942.108893] 2de4  00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
[ 2942.108909] 2e04  00000000 00000001 00000000 ca992e10 ca992e10 00000000 00000000 00000000
[ 2942.108926] 2e24  cca09680 e2a45000 3a04f000 00000400 00000000 00000000 ca992e3c ca992e3c
[ 2942.108944] 2e44  00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
[ 2942.108962] Process kworker/0:1 (pid: 5312, stack limit = 0xc007e210)
[ 2942.108965] Stack: (0xc007fb08 to 0xc0080000)
[ 2942.108971] fb00:                   00000001 bfad896d c1bfd318 0000001f c1bfd228 00040976
[ 2942.108978] fb20: 00000218 c1bfd320 00000020 bfad8967 00000000 c1bfdc88 00000c90 ca992dc0
[ 2942.108984] fb40: 00000040 bfad8a49 c0d16548 ca992dc0 00000000 bfade188 02e01c80 bfad69d5
[ 2942.108990] fb60: 00000064 ca992dc0 ca992dc5 bfae00f4 00000000 bfad624b 00000024 00040976
[ 2942.108997] fb80: 00000004 76010001 c9577388 00000008 c9577800 ca992dc0 ca992dc5 bfad641f
[ 2942.109003] fba0: bfad62b9 c9577820 00000000 c5eae870 c5eae800 bfae0034 c9577800 c045579d
[ 2942.109010] fbc0: c04556d5 c9577820 c0dd9dc4 bfae0034 c03c7f8d 00000013 c0dd9da0 00000000
[ 2942.109016] fbe0: c0d3f5b4 c03c7e97 bfae0034 00000000 c007fc2c c03c7f8d c0d16548 c03c6b85
[ 2942.109022] fc00: 600f0013 cd76d070 c1dce5b8 00040976 c9577820 c0d16548 c9577854 c0d3f5cc
[ 2942.109029] fc20: 00000001 c03c7ca9 c0a966a4 c9577820 00000001 00040976 c9577828 00000000
[ 2942.109035] fc40: c9577820 c0d3f5cc c5eae870 c03c75f3 00000001 c9577828 00000000 c0d16548
[ 2942.109042] fc60: c9577820 c03c6255 00000009 c045298f c0df0cfc 200f0013 c36cf64c 00040976
[ 2942.109048] fc80: c36cf64c c9577800 c36cf650 c36cf650 c5eae870 c5eae800 c36cf650 00000001
[ 2942.109054] fca0: c36cf64c c045414b 00000001 00000000 00000000 00000000 00001388 c0d16548
[ 2942.109061] fcc0: 00000000 c5eae870 00000001 c02487f9 cd660000 c36cf650 c5eae804 c0d3f720
[ 2942.109067] fce0: c0d3f5cc c36cf60c c0453625 c36cf600 c87723c0 00000001 c0d9358c 00000001
[ 2942.109073] fd00: 00000000 c5eae800 00000000 00000001 c09f71bc c0a44b94 ce174700 00000000
[ 2942.109079] fd20: c0d3f44c c045c219 c03c7f8d 00000013 c5eae870 c0dd9dc4 c0d3fd64 c03c7f8d
[ 2942.109086] fd40: 00000013 c03c7e97 c0d3fd64 00000000 c007fd8c c03c7f8d c0d16548 c03c6b85
[ 2942.109092] fd60: 600f0013 cd76d070 cd8f8c38 00040976 c5eae870 c0d16548 c5eae8a4 c0d3f5cc
[ 2942.109099] fd80: 00000001 c03c7ca9 c0a966a4 c5eae870 00000001 00040976 c5eae878 00000000
[ 2942.109105] fda0: c5eae870 c0d3f5cc cd3ef470 c03c75f3 00000000 c5eae878 00000000 c0d16548
[ 2942.109111] fdc0: c5eae870 c03c6255 200f0013 39383100 3932313a cd660000 00000008 00040976
[ 2942.109117] fde0: c0dd9a8c c5eae800 c5eae870 c0d16548 cd65bc80 cd660000 00000003 ffffffff
[ 2942.109124] fe00: c5eae800 c044cef7 00000003 00000003 c0d16548 00000000 c0d3f474 cd3ef400
[ 2942.109130] fe20: 00000000 200f0013 00000000 00040976 00000000 00000003 cd3ef400 00000000
[ 2942.109136] fe40: 00000000 cd72cc00 00000001 cd72ca00 c5eae800 c044e18d c007fed6 00000000
[ 2942.109143] fe60: 00000001 cd72cb0c cd72c800 cd72cc00 cd3ef4a4 cd72ca8d cd72ca38 cd3ef400
[ 2942.109149] fe80: 00000000 cd72ca3c 00000000 cd72cd94 cd72cc08 cd72ca44 cd72ca3c cd72c820
[ 2942.109156] fea0: cd72ca40 00000002 cd72ca40 cd72cd94 cd72cc00 cd660000 c0d16548 00000002
[ 2942.109162] fec0: cd3ef400 00000000 00000064 c0df0cfc cce8c700 00010001 8d708d8b 00040976
[ 2942.109168] fee0: 00000007 c1dce800 cd72cb0c ce381a00 00000000 ce37cdc0 00000000 ce37cdc0
[ 2942.109174] ff00: 00000000 c01321ab ce37cdc0 ce37cdc0 c007ff28 c0d14d00 c007e000 c1dce800
[ 2942.109181] ff20: ce37cdc0 c1dce818 ce37cdd8 c0d14d00 c007e000 c0132401 cb183800 c1dce800
[ 2942.109187] ff40: c007ff58 00000000 cb183800 c1dce800 c013231d 00000000 00000000 00000000
[ 2942.109193] ff60: 00000000 c01360ed 00000000 00040976 c1dce800 00000000 00000000 c007ff7c
[ 2942.109199] ff80: c007ff7c 00000000 00000000 c007ff8c c007ff8c 00040976 c007ffa0 cb183800
[ 2942.109205] ffa0: c013602d 00000000 00000000 c0106801 00000000 00000000 00000000 00000000
[ 2942.109211] ffc0: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
[ 2942.109217] ffe0: 00000000 00000000 00000000 00000000 00000013 00000000 00000000 00000000
[ 2942.109237] [<c04525c4>] (usb_poison_urb) from [<bfad8967>] (mt7601u_dma_cleanup+0xa2/0xdc [mt7601u])
[ 2942.109272] [<bfad8967>] (mt7601u_dma_cleanup [mt7601u]) from [<bfad8a49>] (mt7601u_dma_init+0xa8/0xb0 [mt7601u])
[ 2942.109299] [<bfad8a49>] (mt7601u_dma_init [mt7601u]) from [<bfad69d5>] (mt7601u_init_hardware+0x104/0x450 [mt7601u])
[ 2942.109326] [<bfad69d5>] (mt7601u_init_hardware [mt7601u]) from [<bfad641f>] (mt7601u_probe+0x166/0x194 [mt7601u])
[ 2942.109344] [<bfad641f>] (mt7601u_probe [mt7601u]) from [<c045579d>] (usb_probe_interface+0xc9/0x1e0)
[ 2942.109354] [<c045579d>] (usb_probe_interface) from [<c03c7e97>] (driver_probe_device+0x153/0x1cc)
[ 2942.109362] [<c03c7e97>] (driver_probe_device) from [<c03c6b85>] (bus_for_each_drv+0x49/0x78)
[ 2942.109370] [<c03c6b85>] (bus_for_each_drv) from [<c03c7ca9>] (__device_attach+0x7d/0xc0)
[ 2942.109377] [<c03c7ca9>] (__device_attach) from [<c03c75f3>] (bus_probe_device+0x57/0x5c)
[ 2942.109384] [<c03c75f3>] (bus_probe_device) from [<c03c6255>] (device_add+0x2e1/0x408)
[ 2942.109391] [<c03c6255>] (device_add) from [<c045414b>] (usb_set_configuration+0x367/0x5e0)
[ 2942.109400] [<c045414b>] (usb_set_configuration) from [<c045c219>] (generic_probe+0x35/0x80)
[ 2942.109407] [<c045c219>] (generic_probe) from [<c03c7e97>] (driver_probe_device+0x153/0x1cc)
[ 2942.109414] [<c03c7e97>] (driver_probe_device) from [<c03c6b85>] (bus_for_each_drv+0x49/0x78)
[ 2942.109421] [<c03c6b85>] (bus_for_each_drv) from [<c03c7ca9>] (__device_attach+0x7d/0xc0)
[ 2942.109428] [<c03c7ca9>] (__device_attach) from [<c03c75f3>] (bus_probe_device+0x57/0x5c)
[ 2942.109434] [<c03c75f3>] (bus_probe_device) from [<c03c6255>] (device_add+0x2e1/0x408)
[ 2942.109440] [<c03c6255>] (device_add) from [<c044cef7>] (usb_new_device+0x1eb/0x484)
[ 2942.109447] [<c044cef7>] (usb_new_device) from [<c044e18d>] (hub_event+0x6f1/0x10dc)
[ 2942.109455] [<c044e18d>] (hub_event) from [<c01321ab>] (process_one_work+0xcb/0x23c)
[ 2942.109463] [<c01321ab>] (process_one_work) from [<c0132401>] (worker_thread+0xe5/0x3a8)
[ 2942.109471] [<c0132401>] (worker_thread) from [<c01360ed>] (kthread+0xc1/0xd4)
[ 2942.109479] [<c01360ed>] (kthread) from [<c0106801>] (ret_from_fork+0x11/0x30)
[ 2942.109485] Code: f8b3 f000 e853 2f00 (f102) 0201 
[ 2942.109491] LR Code: 6860 3501 f179 de1f (6860) f179 
[ 2942.109566] ---[ end trace d900ba087ac4fd0f ]---

Patch:

---    drivers/net/wireless/mediatek/mt7601u/dma.c	2023-10-12 01:22:12.941183000 -0400
+++ drivers/net/wireless/mediatek/mt7601u/dma.c	2023-10-15 03:46:57.449276865 -0400
@@ -361,20 +361,22 @@
 
 static void mt7601u_kill_rx(struct mt7601u_dev *dev)
 {
-	int i;
-	unsigned long flags;
+    int i;
+    unsigned long flags;
 
-	spin_lock_irqsave(&dev->rx_lock, flags);
+    spin_lock_irqsave(&dev->rx_lock, flags);
 
-	for (i = 0; i < dev->rx_q.entries; i++) {
-		int next = dev->rx_q.end;
+    for (i = 0; i < dev->rx_q.entries; i++) {
+        int next = dev->rx_q.end;
 
-		spin_unlock_irqrestore(&dev->rx_lock, flags);
-		usb_poison_urb(dev->rx_q.e[next].urb);
-		spin_lock_irqsave(&dev->rx_lock, flags);
-	}
+        if (next >= 0 && next < dev->rx_q.entries) {
+            usb_poison_urb(dev->rx_q.e[next].urb);
+        }
+
+        spin_lock_irqsave(&dev->rx_lock, flags);
+    }
 
-	spin_unlock_irqrestore(&dev->rx_lock, flags);
+    spin_unlock_irqrestore(&dev->rx_lock, flags);
 }
 
 static int mt7601u_submit_rx_buf(struct mt7601u_dev *dev,
@@ -416,8 +418,13 @@
 	int i;
 
 	for (i = 0; i < dev->rx_q.entries; i++) {
-		__free_pages(dev->rx_q.e[i].p, MT_RX_ORDER);
-		usb_free_urb(dev->rx_q.e[i].urb);
+			if (dev->rx_q.e[i].p != NULL) {
+					__free_pages(dev->rx_q.e[i].p, MT_RX_ORDER);
+			}
+
+			if (dev->rx_q.e[i].urb != NULL) {
+					usb_free_urb(dev->rx_q.e[i].urb);
+			}
 	}
 }

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions