Prevent use of an uninitialised value in WM8750 and move buffer flush
authorbalrog <balrog@c046a42c-6fe2-441c-8c8c-71466251a162>
Sun, 20 Apr 2008 03:40:20 +0000 (03:40 +0000)
committerbalrog <balrog@c046a42c-6fe2-441c-8c8c-71466251a162>
Sun, 20 Apr 2008 03:40:20 +0000 (03:40 +0000)
to a better place (Jan Kiszka).

git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@4223 c046a42c-6fe2-441c-8c8c-71466251a162

hw/wm8750.c

index 8243ca5..7d7f08b 100644 (file)
@@ -76,10 +76,10 @@ static void wm8750_audio_in_cb(void *opaque, int avail_b)
 static void wm8750_audio_out_cb(void *opaque, int free_b)
 {
     struct wm8750_s *s = (struct wm8750_s *) opaque;
-    wm8750_out_flush(s);
 
     s->req_out = free_b;
     s->data_req(s->opaque, free_b >> 2, s->req_in >> 2);
+    wm8750_out_flush(s);
 }
 
 struct wm_rate_s {
@@ -213,6 +213,7 @@ static void inline wm8750_mask_update(struct wm8750_s *s)
 void wm8750_reset(i2c_slave *i2c)
 {
     struct wm8750_s *s = (struct wm8750_s *) i2c;
+    s->rate = &wm_rate_table[0];
     s->enable = 0;
     wm8750_set_format(s);
     s->diff[0] = 0;