TftpHandler(uchar *pkt, unsigned dest, IPaddr_t sip, unsigned src,
            unsigned len)
 {
-       ushort proto;
-       ushort *s;
+       __be16 proto;
+       __be16 *s;
        int i;
 
        if (dest != TftpOurPort) {
                return;
        len -= 2;
        /* warning: don't use increment (++) in ntohs() macros!! */
-       s = (ushort *)pkt;
+       s = (__be16 *)pkt;
        proto = *s++;
        pkt = (uchar *)s;
        switch (ntohs(proto)) {
                if (len < 2)
                        return;
                len -= 2;
-               TftpBlock = ntohs(*(ushort *)pkt);
+               TftpBlock = ntohs(*(__be16 *)pkt);
 
                update_block_number();
 
 
        case TFTP_ERROR:
                printf("\nTFTP error: '%s' (%d)\n",
-                      pkt + 2, ntohs(*(ushort *)pkt));
+                      pkt + 2, ntohs(*(__be16 *)pkt));
 
-               switch (ntohs(*(ushort *)pkt)) {
+               switch (ntohs(*(__be16 *)pkt)) {
                case TFTP_ERR_FILE_NOT_FOUND:
                case TFTP_ERR_ACCESS_DENIED:
                        puts("Not retrying...\n");