Commits
Roger Quadros committed 309def706fa
net: ti: icssg_prueth: Fix bug at ifdown under high ingress traffic NOTE: I can still reproduce the bug. but more harder to reproduce than before. Now that PHY state machine is fixed at phy_stop we can rely on that to stop traffic on wire. The other option was to implement the shutdown command so firmware stops processing packets but that is still TBD. Fixes the following bug. On EVM: - iperf3 -s -D On PC: - iperf3 -c <evm ip> -u -b0 -i1 -t300 On EVM: -[1] ifdown eth5 - ifup eth5 - sleep 5 (wait till link up) - goto [1] [ 50.534182] ------------[ cut here ]------------ [ 50.538828] k3_knav_desc_pool size 65536 != avail 65280 [ 50.538890] WARNING: CPU: 2 PID: 1082 at drivers/soc/ti/k3-navss-desc-pool.c:33 k3_knav_pool_destroy+0x11c/0x130 [ 50.554252] Modules linked in: rpmsg_proto ti_am335x_adc kfifo_buf icssg_prueth dwc3 omap_rng rng_core udc_core pru_rproc crc32_ce crct10dif_ce pruss irq_pruss_intc ti_k3_r5_remoteproc virtio_rpmsg_bus remot6 [ 50.592783] CPU: 2 PID: 1082 Comm: ifconfig Not tainted 4.19.59-00001-ge47dda560c33 #167 [ 50.600856] Hardware name: Texas Instruments AM654 Base Board (DT) [ 50.607025] pstate: 40000005 (nZcv daif -PAN -UAO) [ 50.611809] pc : k3_knav_pool_destroy+0x11c/0x130 [ 50.616503] lr : k3_knav_pool_destroy+0x11c/0x130 [ 50.621194] sp : ffff000012baf9f0 [ 50.624499] x29: ffff000012baf9f0 x28: ffff800845610000 [ 50.629803] x27: ffff800846b85e00 x26: ffff800841198000 [ 50.635107] x25: 0000000000001042 x24: 0000000000000000 [ 50.640411] x23: ffff800841198cf0 x22: ffff000002210058 [ 50.645715] x21: ffff800841198000 x20: 0000000000010000 [ 50.651018] x19: ffff800842609780 x18: 0000000000000000 [ 50.656322] x17: 0000000000000001 x16: 0000000000000007 [ 50.661625] x15: ffffffffffffffff x14: ffff000008c93648 [ 50.666929] x13: ffff000008d570d0 x12: ffff000008d56d16 [ 50.672232] x11: ffff000008ca9000 x10: ffff000012baf670 [ 50.677535] x9 : ffff000012baf9f0 x8 : 203d212036333535 [ 50.682839] x7 : ffff000008d56000 x6 : 00000000000001b7 [ 50.688142] x5 : 0000000000000000 x4 : ffff80087fad17e0 [ 50.693446] x3 : ffff80087fad17e0 x2 : 0000000000000007 [ 50.698749] x1 : b4f05b6436ac2100 x0 : 0000000000000000 [ 50.704053] Call trace: [ 50.706494] k3_knav_pool_destroy+0x11c/0x130 [ 50.710853] prueth_cleanup_tx_chns+0x30/0x48 [icssg_prueth] [ 50.716506] emac_ndo_stop+0x190/0x1f0 [icssg_prueth] [ 50.721552] __dev_close_many+0x9c/0x118 [ 50.725469] __dev_change_flags+0xa8/0x1b8 [ 50.729556] dev_change_flags+0x20/0x60 [ 50.733386] devinet_ioctl+0x3f4/0x730 [ 50.737127] inet_ioctl+0xf8/0x268 [ 50.740526] sock_do_ioctl+0x48/0x1f8 [ 50.744181] sock_ioctl+0x1c0/0x3b8 [ 50.747666] do_vfs_ioctl+0xb8/0x890 [ 50.751233] ksys_ioctl+0x78/0xa8 [ 50.754541] __arm64_sys_ioctl+0x1c/0x28 [ 50.758457] el0_svc_common+0x90/0x158 [ 50.762198] el0_svc_handler+0x2c/0x80 [ 50.765939] el0_svc+0x8/0xc [ 50.768811] ---[ end trace 3ff26d234f6778ad ]--- [ 50.773518] ------------[ cut here ]------------ [ 50.778130] kernel BUG at lib/genalloc.c:252! Suggested-by: Grygorii Strashko <grygorii.strashko@ti.com> Signed-off-by: Roger Quadros <rogerq@ti.com> Signed-off-by: Sekhar Nori <nsekhar@ti.com>