__u8  caddr; /* Connection address */
        __u8  control;
        __u8  ident; /* Should always be XID_FORMAT */ 
-       __u32 saddr; /* Source device address */
-       __u32 daddr; /* Destination device address */
+       __le32 saddr; /* Source device address */
+       __le32 daddr; /* Destination device address */
        __u8  flags; /* Discovery flags */
        __u8  slotnr;
        __u8  version;
 struct test_frame {
        __u8 caddr;          /* Connection address */
        __u8 control;
-       __u32 saddr;         /* Source device address */
-       __u32 daddr;         /* Destination device address */
+       __le32 saddr;         /* Source device address */
+       __le32 daddr;         /* Destination device address */
 } IRDA_PACK;
 
 struct ua_frame {
        __u8 caddr;
        __u8 control;
-       __u32 saddr; /* Source device address */
-       __u32 daddr; /* Dest device address */
+       __le32 saddr; /* Source device address */
+       __le32 daddr; /* Dest device address */
 } IRDA_PACK;
 
 struct dm_frame {
 struct snrm_frame {
        __u8  caddr;
        __u8  control;
-       __u32 saddr;
-       __u32 daddr;
+       __le32 saddr;
+       __le32 daddr;
        __u8  ncaddr;
 } IRDA_PACK;
 
 
        n = 2;
 
        /* Get length, MSB first */
-       len = be16_to_cpu(get_unaligned((__u16 *)(fp+n))); n += 2;
+       len = be16_to_cpu(get_unaligned((__be16 *)(fp+n))); n += 2;
 
        IRDA_DEBUG(4, "%s(), len=%d\n", __FUNCTION__, len);
 
        /* Get object ID, MSB first */
-       obj_id = be16_to_cpu(get_unaligned((__u16 *)(fp+n))); n += 2;
+       obj_id = be16_to_cpu(get_unaligned((__be16 *)(fp+n))); n += 2;
 
        type = fp[n++];
        IRDA_DEBUG(4, "%s(), Value type = %d\n", __FUNCTION__, type);
                value = irias_new_string_value(fp+n);
                break;
        case IAS_OCT_SEQ:
-               value_len = be16_to_cpu(get_unaligned((__u16 *)(fp+n)));
+               value_len = be16_to_cpu(get_unaligned((__be16 *)(fp+n)));
                n += 2;
 
                /* Will truncate to IAS_MAX_OCTET_STRING bytes */
 {
        struct sk_buff *tx_skb;
        int n;
-       __u32 tmp_be32;
+       __be32 tmp_be32;
        __be16 tmp_be16;
        __u8 *fp;
 
 
 {
        __u8 *frame;
        __u8 param_len;
-       __u16 tmp_le; /* Temporary value in little endian format */
+       __le16 tmp_le; /* Temporary value in little endian format */
        int n=0;
        
        if (skb == NULL) {
 
                frame[3] = 0x02; /* Value length */
 
                put_unaligned(cpu_to_be16((__u16) max_sdu_size),
-                             (__u16 *)(frame+4));
+                             (__be16 *)(frame+4));
        } else {
                /* Insert plain TTP header */
                frame = skb_push(tx_skb, TTP_HEADER);
                frame[3] = 0x02; /* Value length */
 
                put_unaligned(cpu_to_be16((__u16) max_sdu_size),
-                             (__u16 *)(frame+4));
+                             (__be16 *)(frame+4));
        } else {
                /* Insert TTP header */
                frame = skb_push(tx_skb, TTP_HEADER);