IT猫扑网:您身边最放心的安全下载站! 最新更新|软件分类|软件专题|手机版|论坛转贴|软件发布

您当前所在位置: 首页操作系统LINUX → 不插网线终端缓慢的问题解决办法

不插网线终端缓慢的问题解决办法

时间:2015-06-28 00:00:00 来源:IT猫扑网 作者:网管联盟 我要评论(0)

  使用Smartarm3250 V1.00版源码,会出现不插入网线,终端会很缓慢的BUG,可以修改drivers/net/lpc32xx_mii.c文件的下面两个函数解决,将两个函数中的变量的lps的值改为5即可:

  /*

  * MAC<--->PHY support functions

  */

  static int lpc32xx_mdio_read(struct mii_bus *bus, int phy_id, int phyreg)

  {

  struct netdata_local *pldat = bus->priv;

  int lps;

  u32 tmp;

  __raw_writel(((phy_id << 8) | phyreg), ENET_MADR(pldat->net_base));

  __raw_writel(MCMD_READ, ENET_MCMD(pldat->net_base));

  /* Wait for unbusy status */

  lps = 50;   //改为5即可

  tmp = __raw_readl(ENET_MIND(pldat->net_base));

  while ((lps > 0) && (tmp & (MIND_BUSY | MIND_MII_LINK_FAIL)))

  {

  msleep(1);

  tmp = __raw_readl(ENET_MIND(pldat->net_base));

  lps--;

  }

  lps = (int) __raw_readl(ENET_MRDD(pldat->net_base));

  __raw_writel(0, ENET_MCMD(pldat->net_base));

  return lps;

  }

  static int lpc32xx_mdio_write(struct mii_bus *bus, int phy_id, int phyreg,

  u16 phydata)

  {

  struct netdata_local *pldat = bus->priv;

  int lps;

  u32 tmp;

  __raw_writel(((phy_id << 8) | phyreg), ENET_MADR(pldat->net_base));

  __raw_writel(phydata, ENET_MWTD(pldat->net_base));

  /* Wait for completion */

  lps = 50;   //改为5即可

  tmp = __raw_readl(ENET_MIND(pldat->net_base));

  while ((lps > 0) && (tmp & MIND_BUSY))

  {

  msleep(1);

  tmp = __raw_readl(ENET_MIND(pldat->net_base));

  lps--;

  }

  return 0;

  }

关键词标签:网线,终端缓慢

相关阅读

文章评论
发表评论

热门文章 安装红帽子RedHat Linux9.0操作系统教程 安装红帽子RedHat Linux9.0操作系统教程 Tomcat9.0如何安装_Tomcat9.0环境变量配置方法 Tomcat9.0如何安装_Tomcat9.0环境变量配置方法 多种操作系统NTP客户端配置 多种操作系统NTP客户端配置 Linux操作系统修改IP Linux操作系统修改IP

相关下载

    人气排行 Linux下获取CPUID、硬盘序列号与MAC地址 dmidecode命令查看内存型号 linux tc实现ip流量限制 安装红帽子RedHat Linux9.0操作系统教程 linux下解压rar文件 lcx.exe、nc.exe、sc.exe入侵中的使用方法 Ubuntu linux 关机、重启、注销 命令 查看linux服务器硬盘IO读写负载