6 Jul
2007
6 Jul
'07
4:42 a.m.
Found what I think is the problem... patch_sigmatel.c set spec->num_pins=14, yet spec->pin_nids pointed to stac9205_pin_nids, which was an array of only 12 NIDs. That caused [total guess here] either stac92xx_save_bios_config_regs or stac92xx_set_config_regs to read past the end of the array and into an uninitialized area. I changed the 14 to a 12, and it seems to work. The attached patch is against the current Mercurial sources, but I made the similar change to kernel 2.6.22-rc7, and it doesn't use single_cmd anymore. It still doesn't work after a suspend, though, making me unload and reload the module.