From: Guillaume GARDET <guillaume.gardet@free.fr>
Date: Mon, 6 Jun 2016 13:11:45 +0000 (+0200)
Subject: NFS: Add error message when U-Boot NFS version (V2) is not supported by NFS server
X-Git-Tag: v2025.01-rc5-pxa1908~9145
X-Git-Url: http://git.dujemihanovic.xyz/img/html/static/%7B%7B?a=commitdiff_plain;h=69fd0d4131c73a3b8a199a8d88fb4e5c688b58d5;p=u-boot.git

NFS: Add error message when U-Boot NFS version (V2) is not supported by NFS server

Signed-off-by: Guillaume GARDET <guillaume.gardet@free.fr>
Cc: joe.hershberger@ni.com
Acked-by: Joe Hershberger <joe.hershberger@ni.com>
---

diff --git a/net/nfs.c b/net/nfs.c
index 78968d82e9..f60a037818 100644
--- a/net/nfs.c
+++ b/net/nfs.c
@@ -481,8 +481,23 @@ static int nfs_lookup_reply(uchar *pkt, unsigned len)
 	if (rpc_pkt.u.reply.rstatus  ||
 	    rpc_pkt.u.reply.verifier ||
 	    rpc_pkt.u.reply.astatus  ||
-	    rpc_pkt.u.reply.data[0])
+	    rpc_pkt.u.reply.data[0]) {
+		switch (ntohl(rpc_pkt.u.reply.astatus)) {
+		case 0: /* Not an error */
+			break;
+		case 2: /* Remote can't support NFS version */
+			printf("*** ERROR: NFS version not supported: Requested: V%d, accepted: min V%d - max V%d\n",
+			       2,
+			       ntohl(rpc_pkt.u.reply.data[0]),
+			       ntohl(rpc_pkt.u.reply.data[1]));
+			break;
+		default: /* Unknown error on 'accept state' flag */
+			printf("*** ERROR: accept state error (%d)\n",
+			       ntohl(rpc_pkt.u.reply.astatus));
+			break;
+		}
 		return -1;
+	}
 
 	memcpy(filefh, rpc_pkt.u.reply.data + 1, NFS_FHSIZE);