New upstream version 17.11.5
[deb_dpdk.git] / lib / librte_eal / common / include / generic / rte_rwlock.h
index 7a0fdc5..f4ee1aa 100644 (file)
@@ -52,6 +52,7 @@ extern "C" {
 
 #include <rte_common.h>
 #include <rte_atomic.h>
+#include <rte_pause.h>
 
 /**
  * The rte_rwlock_t type.
@@ -99,7 +100,7 @@ rte_rwlock_read_lock(rte_rwlock_t *rwl)
                        continue;
                }
                success = rte_atomic32_cmpset((volatile uint32_t *)&rwl->cnt,
-                                             x, x + 1);
+                                             (uint32_t)x, (uint32_t)(x + 1));
        }
 }
 
@@ -135,7 +136,7 @@ rte_rwlock_write_lock(rte_rwlock_t *rwl)
                        continue;
                }
                success = rte_atomic32_cmpset((volatile uint32_t *)&rwl->cnt,
-                                             0, -1);
+                                             0, (uint32_t)-1);
        }
 }