r600g: fix bo names causing -35 EDEADLCK

this is a port of the r300 winsys code to do the same thing.
diff --git a/src/gallium/winsys/r600/drm/r600_priv.h b/src/gallium/winsys/r600/drm/r600_priv.h
index 41c5ee0..a958c95 100644
--- a/src/gallium/winsys/r600/drm/r600_priv.h
+++ b/src/gallium/winsys/r600/drm/r600_priv.h
@@ -32,6 +32,7 @@
 #include <assert.h>
 #include <util/u_double_list.h>
 #include <util/u_inlines.h>
+#include "util/u_hash_table.h"
 #include <os/os_thread.h>
 #include "r600.h"
 
@@ -52,6 +53,10 @@
 	unsigned			clock_crystal_freq;
 	unsigned			num_backends;
 	unsigned                        minor_version;
+
+        /* List of buffer handles and its mutex. */
+	struct util_hash_table          *bo_handles;
+	pipe_mutex bo_handles_mutex;
 };
 
 struct r600_reg {
@@ -77,6 +82,7 @@
 	struct r600_reloc		*reloc;
 	unsigned			reloc_id;
 	unsigned			last_flush;
+	unsigned                        name;
 };
 
 struct r600_bo {