diff --git a/executables/nr-ru.c b/executables/nr-ru.c
index 9abdd15192197b4494966920a99b1d9cb88a976b..ec9414af87ea9fdf59829a98f8d6a5de1579d620 100644
--- a/executables/nr-ru.c
+++ b/executables/nr-ru.c
@@ -763,7 +763,7 @@ void tx_rf(RU_t *ru,int frame,int slot, uint64_t timestamp) {
       txp[i] = (void *)&ru->common.txdata[i][(slot*fp->samples_per_slot)-sf_extension];
     }
 print_test[0] = (char *)&ru->common.txdata[0][(slot*fp->samples_per_slot)-sf_extension];
-printf("txdata[0] = %d\n", print_test[0]);
+printf("txdata[0] = %p\n", print_test[0]);
 
 
     VCD_SIGNAL_DUMPER_DUMP_VARIABLE_BY_NAME( VCD_SIGNAL_DUMPER_VARIABLES_TRX_TST, (timestamp-ru->openair0_cfg.tx_sample_advance)&0xffffffff );
diff --git a/targets/ARCH/COMMON/common_lib.h b/targets/ARCH/COMMON/common_lib.h
index d92c38a2a7856464cd742d6a2cb5130ac2644a29..6dd3a84b7ea9ac98a9a92cc656345578fd1b6da9 100644
--- a/targets/ARCH/COMMON/common_lib.h
+++ b/targets/ARCH/COMMON/common_lib.h
@@ -278,7 +278,7 @@ typedef struct {
 
 typedef struct {
   openair0_timestamp timestamp;
-  void **buff;// buffer to be write;
+  void *buff[8];// buffer to be write;
   int nsamps;
   int cc;
   signed char first_packet;
diff --git a/targets/ARCH/USRP/USERSPACE/LIB/usrp_lib.cpp b/targets/ARCH/USRP/USERSPACE/LIB/usrp_lib.cpp
index 33a4c71ede015467bd5499e315eb36a9b6b474b3..e6f0a92840fd8cf78b114bc67ad93c50a8b2577a 100644
--- a/targets/ARCH/USRP/USERSPACE/LIB/usrp_lib.cpp
+++ b/targets/ARCH/USRP/USERSPACE/LIB/usrp_lib.cpp
@@ -440,7 +440,7 @@ static int trx_usrp_write(openair0_device *device, openair0_timestamp timestamp,
       first_packet_state = false;
       last_packet_state  = true;
     }
-printf("~~~1 buff in usrp write = %d\n", buff[0]);
+printf("~~~1 buff in usrp write = %p\n", buff[0]);
   pthread_mutex_lock(&write_thread->mutex_write);
   end = write_thread->end;
 printf("package being write is %d\n", end);
@@ -449,8 +449,9 @@ printf("package being write is %d\n", end);
   write_package[end].cc           = cc;
   write_package[end].first_packet = first_packet_state;
   write_package[end].last_packet  = last_packet_state;
-  write_package[end].buff         = buff;
-printf("~~~2 write_package buff in usrp write = %d\n", write_package[end].buff[0]);
+  for (int i = 0; i < cc; i++)
+    write_package[end].buff[i]    = buff[i];
+printf("~~~2 write_package buff in usrp write = %p\n", write_package[end].buff[0]);
   write_thread->instance_cnt_write = 0;
   write_thread->end = (write_thread->end + 1)% write_thread->num_package;
   pthread_cond_signal(&write_thread->cond_write);
@@ -508,8 +509,8 @@ void *trx_usrp_write_thread(void * arg){
     }
     pthread_mutex_unlock(&write_thread->mutex_write);
     printf("end of write thread signal getting \n");
-printf("~~~2.5 write_package buff in thread = %d\n", write_package[start].buff[0]);
-printf("~~~3 buff in tx write thread= %d\n", buff[0]);
+printf("~~~2.5 write_package buff in thread = %p\n", write_package[start].buff[0]);
+printf("~~~3 buff in tx write thread= %p\n", buff[0]);
 
     #if defined(__x86_64) || defined(__i386__)
       #ifdef __AVX2__