hi all:
如题,系统开机的时候执行 ifconfig eth0 down命令会概率性卡死,
另外正常启动后,多次执行下面的代码,同样会出现系统卡死的现象
ifconfig eth0 downifconfig eth0 hw ether 0A:20:18:03:93:78
ifconfig eth0 up
卡死在ifconfig eth0 down
追踪代码可知该命令调用
drivers/net/ethernet/ti/cpsw.c
cpsw_ndo_stop 函数
奇怪的是在这个函数中加printk打印,100%会卡死在这个函数中
请帮忙分析一下原因
软件版本 SDK6
Thanks!
Denny%20Yang99373:
建议用TI的EVM 最新的SDK测试一下
Jian Zhou:
回复 Denny%20Yang99373:
请问你用的是什么以太网PHY芯片?
zoro li:
回复 Jian Zhou:
hi 周工:
芯片型号是 SMSC 8710A
Thanks!
Jian Zhou:
回复 zoro li:
建议在U-boot下先测试下网口的稳定性,定位下是软件的问题还是硬件的问题。
zoro li:
回复 Jian Zhou:
hi 周工:
最近一直跟踪问题发现卡死原因如下:
static irqreturn_t cpsw_interrupt(int irq, void *dev_id) {struct cpsw_priv *priv = dev_id;if (likely(netif_running(priv->ndev))) {cpsw_intr_disable(priv);cpsw_disable_irq(priv);napi_schedule(&priv->napi); ----------------------1------------------------------------------} else {priv = cpsw_get_slave_priv(priv, 1);if (likely(priv) && likely(netif_running(priv->ndev))) {cpsw_intr_disable(priv);cpsw_disable_irq(priv);napi_schedule(&priv->napi);} ----------------------2------------------------------------------}return IRQ_HANDLED; }正常的时候,代码会执行1,卡死的时候一直执行2,这是什么原因导致的?
Thanks!