realtek: add cond_resched to loops accessing the FDB table
[openwrt/staging/wigyori.git] / target / linux / realtek / files-5.15 / drivers / net / dsa / rtl83xx / dsa.c
index 9281e08d33ebc84c5cd20fd98eee8f16d5b03be0..3e71813112b5c75455e34222f2b9aeac6d79ef99 100644 (file)
@@ -1725,6 +1725,9 @@ static int rtl83xx_port_fdb_dump(struct dsa_switch *ds, int port,
 
                if (e.port == port || e.port == RTL930X_PORT_IGNORE)
                        cb(e.mac, e.vid, e.is_static, data);
+
+               if (!((i + 1) % 64))
+                       cond_resched();
        }
 
        for (i = 0; i < 64; i++) {