spec->dac_nids[i] = i + 0x03; 
spec->dac_nids[i] = j + 0x03; 
static int cmi9880_fill_multi_dac_nids(struct hda_codec *codec, const struct auto_pin_cfg *cfg){	struct cmi_spec *spec = codec->spec;	hda_nid_t nid;	int assigned[4];	int i, j;	/* clear the table, only one c-media dac assumed here */	memset(spec->dac_nids, 0, sizeof(spec->dac_nids));	memset(assigned, 0, sizeof(assigned));	/* check the pins we found */	for (i = 0; i < cfg->line_outs; i++) {		nid = cfg->line_out_pins[i];		/* nid 0x0b~0x0e is hardwired to audio widget 0x3~0x6 */		if (nid >= 0x0b && nid <= 0x0e) {			spec->dac_nids[i] = (nid - 0x0b) + 0x03;			assigned[nid - 0x0b] = 1;		}	}	/* left pin can be connect to any audio widget */	for (i = 0; i < cfg->line_outs; i++) {		nid = cfg->line_out_pins[i];		if (nid <= 0x0e)			continue;		/* search for an empty channel */		for (j = 0; j < cfg->line_outs; j++) {			if (! assigned[j]) {				spec->dac_nids[i] = i + 0x03;				assigned[j] = 1;				break;			}		}	}	spec->num_dacs = cfg->line_outs;	return 0;}
4520	/local/tlutelli/issta_data/temp/c/2005_temp/2005/4520/fb92e6f05e84f6c217d786208e2ed5acf633b6ce/patch_cmedia.c/buggy/sound/pci/hda/patch_cmedia.c