--- a/kernel/drv/oss_hdaudio/.devices	Fri Feb 06 00:36:29 2009 +0200
+++ b/kernel/drv/oss_hdaudio/.devices	Fri Feb 06 17:00:26 2009 +0200
@@ -13,6 +13,7 @@ oss_hdaudio	pci10de,44a	Nvidia High Defi
 oss_hdaudio	pci10de,44a	Nvidia High Definition Audio (MCP65)
 oss_hdaudio	pci10de,55c	Nvidia High Definition Audio (MCP67)
 oss_hdaudio	pci10de,774	Nvidia High Definition Audio (MCP78S)
+oss_hdaudio	pci10de,ac0	Nvidia High Definition Audio (MCP79)
 oss_hdaudio	pci1002,437b	ATI High Definition Audio (SB450)
 oss_hdaudio	pci1002,4383	ATI High Definition Audio (SB600)
 oss_hdaudio	pci1106,3288	VIA High Definition Audio
--- a/kernel/drv/oss_hdaudio/oss_hdaudio.c	Fri Feb 06 00:36:29 2009 +0200
+++ b/kernel/drv/oss_hdaudio/oss_hdaudio.c	Fri Feb 06 17:00:26 2009 +0200
@@ -30,6 +30,7 @@
 #define NVIDIA_DEVICE_MCP65     0x044a
 #define NVIDIA_DEVICE_MCP67     0x055c
 #define NVIDIA_DEVICE_MCP78S    0x0774
+#define NVIDIA_DEVICE_MCP79     0x0ac0
 
 #define ATI_VENDOR_ID           0x1002
 #define ATI_DEVICE_SB450        0x437b
@@ -1720,7 +1721,7 @@ oss_hdaudio_attach (oss_device_t * osdev
        device != NVIDIA_DEVICE_MCP51 && device != NVIDIA_DEVICE_MCP55 &&
        device != NVIDIA_DEVICE_MCP61 && device != NVIDIA_DEVICE_MCP61A &&
        device != NVIDIA_DEVICE_MCP65 && device != NVIDIA_DEVICE_MCP67 &&
-       device != NVIDIA_DEVICE_MCP78S &&
+       device != NVIDIA_DEVICE_MCP78S && device != NVIDIA_DEVICE_MCP79 &&
        device != VIA_DEVICE_HDA &&
        device != SIS_DEVICE_HDA &&
        device != ULI_DEVICE_HDA &&
@@ -1776,6 +1777,7 @@ oss_hdaudio_attach (oss_device_t * osdev
     case NVIDIA_DEVICE_MCP65:
     case NVIDIA_DEVICE_MCP67:
     case NVIDIA_DEVICE_MCP78S:
+    case NVIDIA_DEVICE_MCP79:
       devc->chip_name = "nVidia HD Audio";
       pci_read_config_byte (osdev, 0x4e, &btmp);
       pci_write_config_byte (osdev, 0x4e, (btmp & 0xf0) | 0x0f);
--- a/kernel/drv/oss_hdaudio/.devices	Fri Feb 06 17:05:21 2009 +0200
+++ b/kernel/drv/oss_hdaudio/.devices	Sat Feb 07 11:10:36 2009 +0200
@@ -12,6 +12,7 @@ oss_hdaudio	pci10de,3f0	Nvidia High Defi
 oss_hdaudio	pci10de,3f0	Nvidia High Definition Audio (MCP61)
 oss_hdaudio	pci10de,44a	Nvidia High Definition Audio (MCP65)
 oss_hdaudio	pci10de,55c	Nvidia High Definition Audio (MCP67)
+oss_hdaudio	pci10de,7fc	Nvidia High Definition Audio (MCP73)
 oss_hdaudio	pci10de,774	Nvidia High Definition Audio (MCP78S)
 oss_hdaudio	pci10de,ac0	Nvidia High Definition Audio (MCP79)
 oss_hdaudio	pci1002,437b	ATI High Definition Audio (SB450)
--- a/kernel/drv/oss_hdaudio/oss_hdaudio.c	Fri Feb 06 17:05:21 2009 +0200
+++ b/kernel/drv/oss_hdaudio/oss_hdaudio.c	Sat Feb 07 11:10:36 2009 +0200
@@ -29,6 +29,7 @@
 #define NVIDIA_DEVICE_MCP61A    0x03f0
 #define NVIDIA_DEVICE_MCP65     0x044a
 #define NVIDIA_DEVICE_MCP67     0x055c
+#define NVIDIA_DEVICE_MCP73     0x07fc
 #define NVIDIA_DEVICE_MCP78S    0x0774
 #define NVIDIA_DEVICE_MCP79     0x0ac0
 
@@ -1721,7 +1722,8 @@ oss_hdaudio_attach (oss_device_t * osdev
        device != NVIDIA_DEVICE_MCP51 && device != NVIDIA_DEVICE_MCP55 &&
        device != NVIDIA_DEVICE_MCP61 && device != NVIDIA_DEVICE_MCP61A &&
        device != NVIDIA_DEVICE_MCP65 && device != NVIDIA_DEVICE_MCP67 &&
-       device != NVIDIA_DEVICE_MCP78S && device != NVIDIA_DEVICE_MCP79 &&
+       device != NVIDIA_DEVICE_MCP73 && device != NVIDIA_DEVICE_MCP78S &&
+       device != NVIDIA_DEVICE_MCP79 &&
        device != VIA_DEVICE_HDA &&
        device != SIS_DEVICE_HDA &&
        device != ULI_DEVICE_HDA &&
@@ -1776,6 +1778,7 @@ oss_hdaudio_attach (oss_device_t * osdev
     case NVIDIA_DEVICE_MCP61A:
     case NVIDIA_DEVICE_MCP65:
     case NVIDIA_DEVICE_MCP67:
+    case NVIDIA_DEVICE_MCP73:
     case NVIDIA_DEVICE_MCP78S:
     case NVIDIA_DEVICE_MCP79:
       devc->chip_name = "nVidia HD Audio";
--- a/kernel/framework/vmix_core/vmix_core.c	Mon Feb 09 21:21:39 2009 +0200
+++ b/kernel/framework/vmix_core/vmix_core.c	Mon Feb 09 19:52:22 2009 -0200
@@ -1590,7 +1590,7 @@ create_vmix_engine (vmix_mixer_t * mixer
   adev_t *adev, *master_adev;
   int opts = ADEV_VIRTUAL | ADEV_DEFAULT | ADEV_VMIX;
 
-  n = mixer->num_clientdevs++;
+  n = mixer->num_clientdevs;
 
   /*
    * ADEV_HIDDEN is used for the VMIX devices because they should not be
@@ -1611,7 +1611,7 @@ create_vmix_engine (vmix_mixer_t * mixer
   if (mixer->masterdev == -1)
     return OSS_ENXIO;
 
-  if (mixer->num_clientdevs >= MAX_CLIENTS) /* Cannot create more client engines */
+  if (n + 1 >= MAX_CLIENTS) /* Cannot create more client engines */
      return OSS_EBUSY;
 
   /*
@@ -1628,6 +1628,8 @@ create_vmix_engine (vmix_mixer_t * mixer
     }
   memset (portc, 0, sizeof (*portc));
   portc->open_pending = 1; /* Reserve this engine to the client it was created for */
+
+  mixer->num_clientdevs++;
 
   portc->num = n;