usb-uhci: cleanup UHCIAsync allocation & initialization.

Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
diff --git a/hw/usb-uhci.c b/hw/usb-uhci.c
index 2280dc7..ca87290 100644
--- a/hw/usb-uhci.c
+++ b/hw/usb-uhci.c
@@ -159,15 +159,9 @@
 
 static UHCIAsync *uhci_async_alloc(UHCIState *s)
 {
-    UHCIAsync *async = g_malloc(sizeof(UHCIAsync));
+    UHCIAsync *async = g_new0(UHCIAsync, 1);
 
-    memset(&async->packet, 0, sizeof(async->packet));
     async->uhci  = s;
-    async->valid = 0;
-    async->td    = 0;
-    async->token = 0;
-    async->done  = 0;
-    async->isoc  = 0;
     usb_packet_init(&async->packet);
     pci_dma_sglist_init(&async->sgl, &s->dev, 1);