打印
[ARM9、LPC]

imx287 eth0: tx queue full!求助如何解决

[复制链接]
1254|3
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
lovegu0713|  楼主 | 2016-1-19 19:23 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
沙发
阿南| | 2016-1-20 09:29 | 只看该作者
发送队列满。
这个问题应该是i.mx特有的。
试试修改下fec.c,fec_timeout函数:
static void fec_timeout(struct net_device *dev)
{
struct fec_enet_private *fep = netdev_priv(dev);
dev->stats.tx_errors++;
netif_stop_queue(dev);
fec_restart(dev, fep->full_duplex);
/* prevent tx timeout */
dev->trans_start = jiffies;
netif_wake_queue(dev);
}

使用特权

评论回复
板凳
lovegu0713|  楼主 | 2016-1-21 16:26 | 只看该作者
阿南 发表于 2016-1-20 09:29
发送队列满。
这个问题应该是i.mx特有的。
试试修改下fec.c,fec_timeout函数:

谢谢您的回复,当我遇到eth0: tx queue full!的时候,只要我通过终端 使用指令:service networking restart 重启下网络,网络就可以PING通 正常使用了。想问以下您,是不是当发送队列满了的时候,内核没有响应该中断,或者是内有做任何处理呀, 所以才会一直打印eth0: tx queue full!且网络不通了?
还有 static void fec_timeout(struct net_device *dev) 这个函数都什么情况下回进入那?

使用特权

评论回复
地板
阿南| | 2016-1-21 17:38 | 只看该作者

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

1

主题

3

帖子

0

粉丝