Explorar o código

net: nfs: don't fail when nfs_read_reply returns -NFS_RPC_DROP

That can happen if duplicate UDP packet arrived, and that's not uncommon.
Anyway, we ignore packets with rpc_id lower than last we sent for other
requests, so it makes sense to do that for read request as well.

Signed-off-by: Vasily Khoruzhick <anarsoul@gmail.com>
Acked-by: Joe Hershberger <joe.hershberger@ni.com>
Vasily Khoruzhick %!s(int64=7) %!d(string=hai) anos
pai
achega
d48d40a091
Modificáronse 1 ficheiros con 2 adicións e 0 borrados
  1. 2 0
      net/nfs.c

+ 2 - 0
net/nfs.c

@@ -822,6 +822,8 @@ static void nfs_handler(uchar *pkt, unsigned dest, struct in_addr sip,
 
 	case STATE_READ_REQ:
 		rlen = nfs_read_reply(pkt, len);
+		if (rlen == -NFS_RPC_DROP)
+			break;
 		net_set_timeout_handler(nfs_timeout, nfs_timeout_handler);
 		if (rlen > 0) {
 			nfs_offset += rlen;