diff --git a/audio/ossaudio.c b/audio/ossaudio.c
index bdc4b76..11e76a1 100644
--- a/audio/ossaudio.c
+++ b/audio/ossaudio.c
@@ -30,6 +30,7 @@
 #include "qemu/main-loop.h"
 #include "qemu/host-utils.h"
 #include "audio.h"
+#include "trace.h"
 
 #define AUDIO_CAP "oss"
 #include "audio_int.h"
@@ -44,7 +45,6 @@
     int fragsize;
     const char *devpath_out;
     const char *devpath_in;
-    int debug;
     int exclusive;
     int policy;
 } OSSConf;
@@ -314,9 +314,7 @@
         int version;
 
         if (!oss_get_version (fd, &version, typ)) {
-            if (conf->debug) {
-                dolog ("OSS version = %#x\n", version);
-            }
+            trace_oss_version(version);
 
             if (version >= 0x040000) {
                 int policy = conf->policy;
@@ -427,7 +425,6 @@
     struct audio_buf_info abinfo;
     struct count_info cntinfo;
     int bufsize;
-    OSSConf *conf = oss->conf;
 
     bufsize = hw->samples << hw->info.shift;
 
@@ -452,19 +449,12 @@
         }
 
         if (abinfo.bytes > bufsize) {
-            if (conf->debug) {
-                dolog ("warning: Invalid available size, size=%d bufsize=%d\n"
-                       "please report your OS/audio hw to av1474@comtv.ru\n",
-                       abinfo.bytes, bufsize);
-            }
+            trace_oss_invalid_available_size(abinfo.bytes, bufsize);
             abinfo.bytes = bufsize;
         }
 
         if (abinfo.bytes < 0) {
-            if (conf->debug) {
-                dolog ("warning: Invalid available size, size=%d bufsize=%d\n",
-                       abinfo.bytes, bufsize);
-            }
+            trace_oss_invalid_available_size(abinfo.bytes, bufsize);
             return 0;
         }
 
@@ -852,7 +842,6 @@
     .fragsize = 4096,
     .devpath_out = "/dev/dsp",
     .devpath_in = "/dev/dsp",
-    .debug = 0,
     .exclusive = 0,
     .policy = 5
 };
@@ -919,12 +908,6 @@
         .descr = "Set the timing policy of the device, -1 to use fragment mode",
     },
 #endif
-    {
-        .name  = "DEBUG",
-        .tag   = AUD_OPT_BOOL,
-        .valp  = &glob_conf.debug,
-        .descr = "Turn on some debugging messages"
-    },
     { /* End of list */ }
 };
 
diff --git a/trace-events b/trace-events
index 409a64a..52b7efa 100644
--- a/trace-events
+++ b/trace-events
@@ -1644,3 +1644,7 @@
 alsa_resume_out(void) "Resuming suspended output stream"
 alsa_resume_in(void) "Resuming suspended input stream"
 alsa_no_frames(int state) "No frames available and ALSA state is %d"
+
+# audio/ossaudio.c
+oss_version(int version) "OSS version = %#x"
+oss_invalid_available_size(int size, int bufsize) "Invalid available size, size=%d bufsize=%d"
