Index: uspace/drv/audio/hdaudio/codec.c
===================================================================
--- uspace/drv/audio/hdaudio/codec.c	(revision a9be4d2e3f9efd191154ce9bf76d62659e2c44e0)
+++ uspace/drv/audio/hdaudio/codec.c	(revision 149dd52d3578b9c6efe2c2a3359198b18cb00623)
@@ -67,5 +67,5 @@
 	int rc = hda_cmd(codec->hda, verb, resp);
 
-	if (resp != NULL) {
+/*	if (resp != NULL) {
 		ddf_msg(LVL_NOTE, "verb 0x%" PRIx32 " -> 0x%" PRIx32, verb,
 		    *resp);
@@ -73,5 +73,5 @@
 		ddf_msg(LVL_NOTE, "verb 0x%" PRIx32, verb);
 	}
-
+*/
 	return rc;
 }
@@ -250,5 +250,5 @@
 	    ampcaps, offset);
 
-	rc = hda_set_amp_gain_mute(codec, aw, 0xb000 + offset/2);
+	rc = hda_set_amp_gain_mute(codec, aw, 0xb000 + offset);
 	if (rc != EOK)
 		goto error;
@@ -286,5 +286,5 @@
 
 	for (i = 0; i < 15; i++) {
-		rc = hda_set_amp_gain_mute(codec, aw, 0x7000 + (i << 8) + offset/2);
+		rc = hda_set_amp_gain_mute(codec, aw, 0x7000 + (i << 8) + offset);
 		if (rc != EOK)
 			goto error;
@@ -466,4 +466,8 @@
 		ddf_msg(LVL_NOTE, "hda_get_fgrp_type -> %d", rc);
 		ddf_msg(LVL_NOTE, "unsol: %d, grptype: %d", unsol, grptype);
+
+		rc = hda_power_ctl_init(codec, fg);
+		if (rc != EOK)
+			goto error;
 
 		rc = hda_get_subnc(codec, fg, &saw, &naw);
Index: uspace/drv/audio/hdaudio/hdactl.c
===================================================================
--- uspace/drv/audio/hdaudio/hdactl.c	(revision a9be4d2e3f9efd191154ce9bf76d62659e2c44e0)
+++ uspace/drv/audio/hdaudio/hdactl.c	(revision 149dd52d3578b9c6efe2c2a3359198b18cb00623)
@@ -311,5 +311,5 @@
 static void hda_set_corbwp(hda_t *hda, size_t wp)
 {
-	ddf_msg(LVL_DEBUG2, "Set CORBWP = %d", wp);
+	ddf_msg(LVL_DEBUG2, "Set CORBWP = %zu", wp);
 	hda_reg16_write(&hda->regs->corbwp, wp);
 }
@@ -391,5 +391,5 @@
 
 	wp = hda_get_rirbwp(hda);
-	ddf_msg(LVL_DEBUG2, "hda_rirb_read: wp=%d", wp);
+	ddf_msg(LVL_DEBUG2, "hda_rirb_read: wp=%zu", wp);
 	if (hda->ctl->rirb_rp == wp)
 		return ENOENT;
@@ -637,8 +637,8 @@
 	    hda_reg8_read(&ctl->hda->regs->corbctl),
 	    hda_reg8_read(&ctl->hda->regs->corbsts));
-	ddf_msg(LVL_NOTE, "rirbwp=0x%x, soft-rirbrp=0x%x",
+	ddf_msg(LVL_NOTE, "rirbwp=0x%x, soft-rirbrp=0x%zx",
 	    hda_reg16_read(&ctl->hda->regs->rirbwp),
 	    ctl->rirb_rp);
-	ddf_msg(LVL_NOTE, "solrb_wp=0x%x, solrb_rp=0x%x",
+	ddf_msg(LVL_NOTE, "solrb_wp=0x%zx, solrb_rp=0x%zx",
 	    ctl->solrb_wp, ctl->solrb_wp);
 }
Index: uspace/drv/audio/hdaudio/hdaudio.c
===================================================================
--- uspace/drv/audio/hdaudio/hdaudio.c	(revision a9be4d2e3f9efd191154ce9bf76d62659e2c44e0)
+++ uspace/drv/audio/hdaudio/hdaudio.c	(revision 149dd52d3578b9c6efe2c2a3359198b18cb00623)
@@ -215,7 +215,7 @@
 	hda->regs = (hda_regs_t *)regs;
 
-	ddf_msg(LVL_NOTE, "IRQs: %d", res.irqs.count);
+	ddf_msg(LVL_NOTE, "IRQs: %zu", res.irqs.count);
 	if (res.irqs.count != 1) {
-		ddf_msg(LVL_ERROR, "Unexpected IRQ count %d (!= 1)",
+		ddf_msg(LVL_ERROR, "Unexpected IRQ count %zu (!= 1)",
 		    res.irqs.count);
 		goto error;
@@ -254,5 +254,5 @@
 	}
 
-	ddf_msg(LVL_NOTE, "range0.base=%x", hdaudio_irq_pio_ranges[0].base);
+	ddf_msg(LVL_NOTE, "range0.base=%zu", hdaudio_irq_pio_ranges[0].base);
 
 	rc = irc_enable_interrupt(res.irqs.irqs[0]);
