From be8623a10f0796f835862d510a7d14b04ad67cc1 Mon Sep 17 00:00:00 2001
From: Cedric Roux <cedric.roux@eurecom.fr>
Date: Mon, 26 Aug 2013 08:55:09 +0000
Subject: [PATCH] - Fix nasmesh driver for 64 bits architectures

[pre-ci tests passed on 32/64 bits platforms]

git-svn-id: http://svn.eurecom.fr/openair4G/trunk@4101 818b1a75-f10b-46b9-bf7c-635c3b92a50f
---
 openair2/NAS/DRIVER/MESH/common.c | 15 +++++++--------
 openair2/NAS/DRIVER/MESH/ioctl.c  |  2 +-
 openair2/NAS/DRIVER/MESH/tool.c   |  2 +-
 3 files changed, 9 insertions(+), 10 deletions(-)

diff --git a/openair2/NAS/DRIVER/MESH/common.c b/openair2/NAS/DRIVER/MESH/common.c
index 43b9704dc2..eb3e8b2ce1 100755
--- a/openair2/NAS/DRIVER/MESH/common.c
+++ b/openair2/NAS/DRIVER/MESH/common.c
@@ -97,7 +97,7 @@ void nas_COMMON_receive(u16 dlen,
   skb->dev = nasdev[inst];
   
 #ifdef KERNEL_VERSION_GREATER_THAN_2622
-  skb->mac_header = skb->data;
+  skb_reset_mac_header(skb);
 #else
   skb->mac.raw = skb->data;
 #endif
@@ -119,7 +119,7 @@ void nas_COMMON_receive(u16 dlen,
 
 
 #ifdef KERNEL_VERSION_GREATER_THAN_2622
-	skb->network_header = skb->data;
+    skb_reset_network_header(skb);
 #else
 	skb->nh.ipv6h = (struct ipv6hdr *)skb->data;
 #endif
@@ -175,10 +175,9 @@ void nas_COMMON_receive(u16 dlen,
 #endif
 		  
 #ifdef KERNEL_VERSION_GREATER_THAN_2622
-	skb->network_header = skb->data;
-	network_header = (struct iphdr *)skb_network_header(skb);
-	protocol = network_header->protocol;
-
+    skb_reset_network_header(skb);
+    network_header = (struct iphdr *)skb_network_header(skb);
+    protocol = network_header->protocol;
 #else
 	skb->nh.iph = (struct iphdr *)skb->data;
 	protocol=skb->nh.iph->protocol;
@@ -435,7 +434,7 @@ void nas_COMMON_QOS_send(struct sk_buff *skb, struct cx_entity *cx, struct class
   if (bytes_wrote != NAS_PDCPH_SIZE)
     {
       printk("NAS_COMMON_QOS_SEND: problem while writing PDCP's header (bytes wrote = %d to fifo %d)\n",bytes_wrote,NAS2PDCP_FIFO);
-      printk("rb_id %d, Wrote %d, Header Size %d \n", pdcph.rb_id , bytes_wrote, NAS_PDCPH_SIZE);
+      printk("rb_id %d, Wrote %d, Header Size %lu\n", pdcph.rb_id , bytes_wrote, NAS_PDCPH_SIZE);
 #ifndef NAS_NETLINK
       rtf_reset(NAS2PDCP_FIFO);
 #endif //NAS_NETLINK
@@ -449,7 +448,7 @@ void nas_COMMON_QOS_send(struct sk_buff *skb, struct cx_entity *cx, struct class
 
   if (bytes_wrote != skb->len+NAS_PDCPH_SIZE)    
     {
-      printk("NAS_COMMON_QOS_SEND: Inst %d, RB_ID %d: problem while writing PDCP's data, bytes_wrote = %d, Data_len %d, PDCPH_SIZE %d\n",
+      printk("NAS_COMMON_QOS_SEND: Inst %d, RB_ID %d: problem while writing PDCP's data, bytes_wrote = %d, Data_len %d, PDCPH_SIZE %lu\n",
 	     inst,
 	     pdcph.rb_id,
 	     bytes_wrote,
diff --git a/openair2/NAS/DRIVER/MESH/ioctl.c b/openair2/NAS/DRIVER/MESH/ioctl.c
index e50773176f..86e8142f40 100755
--- a/openair2/NAS/DRIVER/MESH/ioctl.c
+++ b/openair2/NAS/DRIVER/MESH/ioctl.c
@@ -556,7 +556,7 @@ int nas_ioCTL_class_add_request(struct nas_ioctl *gifr,
 
 
   printk("NAS_IOCTL_CLASS_ADD: Add classifier components requested\n");
-  printk("NAS_IOCTL_CLASS_ADD: size of gifr msg %d\n", sizeof(gifr->msg));
+  printk("NAS_IOCTL_CLASS_ADD: size of gifr msg %zd\n", sizeof(gifr->msg));
 
     
   if (copy_from_user(&msgreq, gifr->msg, sizeof(msgreq))){
diff --git a/openair2/NAS/DRIVER/MESH/tool.c b/openair2/NAS/DRIVER/MESH/tool.c
index a541e621ff..8eb7956a69 100755
--- a/openair2/NAS/DRIVER/MESH/tool.c
+++ b/openair2/NAS/DRIVER/MESH/tool.c
@@ -564,7 +564,7 @@ void print_TOOL_pk_ipv4(struct iphdr *iph){
 //---------------------------------------------------------------------------
 void print_TOOL_pk_all(struct sk_buff *skb){
 //---------------------------------------------------------------------------
-	printk("Skb:\t %u, len = %u\n", (unsigned int)skb, skb->len);
+	printk("Skb:\t %p, len = %u\n", skb, skb->len);
 #ifdef KERNEL_VERSION_GREATER_THAN_2629
 	//navid: need to calculate the current used space: fixme?
 	printk("Skb:\t available buf space = %u \n", skb->truesize);
-- 
GitLab