Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
OS
U-Boot.Mirror
提交
5a1b1f36
U
U-Boot.Mirror
项目概览
OS
/
U-Boot.Mirror
通知
1
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
DevOps
流水线
流水线任务
计划
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
U
U-Boot.Mirror
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
DevOps
DevOps
流水线
流水线任务
计划
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
流水线任务
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
提交
5a1b1f36
编写于
11月 24, 2009
作者:
W
Wolfgang Denk
浏览文件
操作
浏览文件
下载
差异文件
Merge branch 'master' of
git://git.denx.de/u-boot-net
上级
7c32dc5b
67b96e87
变更
1
隐藏空白更改
内联
并排
Showing
1 changed file
with
24 addition
and
8 deletion
+24
-8
net/net.c
net/net.c
+24
-8
未找到文件。
net/net.c
浏览文件 @
5a1b1f36
...
...
@@ -197,6 +197,8 @@ volatile uchar *NetTxPacket = 0; /* THE transmit packet */
static
int
net_check_prereq
(
proto_t
protocol
);
static
int
NetTryCount
;
/**********************************************************************/
IPaddr_t
NetArpWaitPacketIP
;
...
...
@@ -320,6 +322,7 @@ NetLoop(proto_t protocol)
NetArpWaitReplyIP
=
0
;
NetArpWaitTxPacket
=
NULL
;
NetTxPacket
=
NULL
;
NetTryCount
=
1
;
if
(
!
NetTxPacket
)
{
int
i
;
...
...
@@ -558,17 +561,30 @@ startAgainHandler(uchar * pkt, unsigned dest, unsigned src, unsigned len)
void
NetStartAgain
(
void
)
{
char
*
nretry
;
int
noretry
=
0
,
once
=
0
;
int
retry_forever
=
0
;
unsigned
long
retrycnt
=
0
;
nretry
=
getenv
(
"netretry"
);
if
(
nretry
)
{
if
(
!
strcmp
(
nretry
,
"yes"
))
retry_forever
=
1
;
else
if
(
!
strcmp
(
nretry
,
"no"
))
retrycnt
=
0
;
else
if
(
!
strcmp
(
nretry
,
"once"
))
retrycnt
=
1
;
else
retrycnt
=
simple_strtoul
(
nretry
,
NULL
,
0
);
}
else
retry_forever
=
1
;
if
((
nretry
=
getenv
(
"netretry"
))
!=
NULL
)
{
noretry
=
(
strcmp
(
nretry
,
"no"
)
==
0
);
once
=
(
strcmp
(
nretry
,
"once"
)
==
0
);
}
if
(
noretry
)
{
eth_halt
();
if
((
!
retry_forever
)
&&
(
NetTryCount
>=
retrycnt
))
{
eth_halt
();
NetState
=
NETLOOP_FAIL
;
return
;
}
NetTryCount
++
;
#ifndef CONFIG_NET_MULTI
NetSetTimeout
(
10000UL
,
startAgainTimeout
);
NetSetHandler
(
startAgainHandler
);
...
...
@@ -580,7 +596,7 @@ void NetStartAgain (void)
eth_init
(
gd
->
bd
);
if
(
NetRestartWrap
)
{
NetRestartWrap
=
0
;
if
(
NetDevExists
&&
!
once
)
{
if
(
NetDevExists
)
{
NetSetTimeout
(
10000UL
,
startAgainTimeout
);
NetSetHandler
(
startAgainHandler
);
}
else
{
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录