Hehe - a Necrobug…

Anyways - OpenWRT 1907 uses the FOSS mediatek/ralink driver - GL-Inet on MT300N uses the MT closed source driver.

Anyways - you’re seeing a Tx Queue timeout on 19.07… and there, the watchdog kicks, and brings everything back up again - I’m more focused on the QC-Atheros devices, not so much into the MTK stuff at the moment.

If you see this with the factory builds - much more relevant.

static void dev_watchdog(unsigned long arg)
{
struct net_device *dev = (struct net_device *)arg;

netif_tx_lock(dev);
if (!qdisc_tx_is_noop(dev)) {
	if (netif_device_present(dev) &&
	    netif_running(dev) &&
	    netif_carrier_ok(dev)) {
		int some_queue_timedout = 0;
		unsigned int i;
		unsigned long trans_start;

		for (i = 0; i < dev->num_tx_queues; i++) {
			struct netdev_queue *txq;

			txq = netdev_get_tx_queue(dev, i);
			trans_start = txq->trans_start;
			if (netif_xmit_stopped(txq) &&
			    time_after(jiffies, (trans_start +
						 dev->watchdog_timeo))) {
				some_queue_timedout = 1;
				txq->trans_timeout++;
				break;
			}
		}

		if (some_queue_timedout) {
			WARN_ONCE(1, KERN_INFO "NETDEV WATCHDOG: %s (%s): transmit queue %u timed out\n",
			       dev->name, netdev_drivername(dev), i);
			dev->netdev_ops->ndo_tx_timeout(dev);
		}
		if (!mod_timer(&dev->watchdog_timer,
			       round_jiffies(jiffies +
					     dev->watchdog_timeo)))
			dev_hold(dev);
	}
}
netif_tx_unlock(dev);

dev_put(dev);

}