[U-Boot] uboot ERROR nfs: Cannot umount error

jinghui shi fddluboot at gmail.com
Fri Jun 7 04:48:17 CEST 2013


Hi,

Recently, after successfully adding my ethernet driver to u-boot-2011.09,
I tried to use u-boot's tftpboot and nfs command to test my driver,
with tftpboot command, no matter how many times to test, there's no problem.

But, with nfs command, if I did not add the board's ip address
to nfs server(Ubuntu linux PC)'s /etc/hosts, there was always a
"Cannot umount" error,
although the data loading was right.

With the help of "wireshark", I found that if didn't add board's ip to
/etc/hosts, after the "umount call" from board,
nfs server(Ubuntu linux PC) tried to start a mDNS processing(something
like "query x.x.167.10.in-addr.arpa"),
but there is not xDNS server in my network enviroment, so it fails,
and during these time, "umount call" timeout happened twice.
And after the failing of mDNS, the nfs server replied board's "umount
call", but with a wrong "rpc id" number,
because the last "rpc id" holded by u-boot was added(because of the
timeout of "umount call"), but nfs server didn't.

I can fix it by adding board's ip to nfs server PC's /etc/hosts.
But the problem is:
if there is a "Cannot umount" error(NetState = NETLOOP_FAIL), the net
core does not call the "halt" function of the driver,
that means the ethernet driver is still working. But before the
loading(starting) of linux image,
all DMA devices(my NIC is one of them) should be quieted.

I wanted to know,
Why we do not call ethernet driver's "halt" function if there was a
"Cannot umount" error?



(I am so sorry that I do not know whether I send this mail to the
right mail address,
I couldn't find net or nfs's maintainer from u-boot/MAINTAINERS, it
seems only boards' maintainers are there,
so this mail to mail addresses contains in nfs.c and net.c. If it is
wrong, and anyone knows the right ones,
please give me a help, I will fix it. Thanks)

Best regards
ShiJinghui


More information about the U-Boot mailing list