diff --git a/fs/ceph/messenger.c b/fs/ceph/messenger.c
index 6ff44bbddf67f36d081a413f8695e2dc73a53548..5cc374850d8fa5b79e786d94cc9a0e74e386fe27 100644
--- a/fs/ceph/messenger.c
+++ b/fs/ceph/messenger.c
@@ -891,9 +891,9 @@ static int addr_port(struct sockaddr_storage *ss)
 {
 	switch (ss->ss_family) {
 	case AF_INET:
-		return ((struct sockaddr_in *)ss)->sin_port;
+		return ntohs(((struct sockaddr_in *)ss)->sin_port);
 	case AF_INET6:
-		return ((struct sockaddr_in6 *)ss)->sin6_port;
+		return ntohs(((struct sockaddr_in6 *)ss)->sin6_port);
 	}
 	return 0;
 }