On Wednesday 16 March 2016 15:47:10 Sebastian Reichel wrote: > I just had another look at the driver and I think there is a race > condition for tpa6130a2_add_controls() and tpa6130a2_stereo_enable(). > > As far as I can see both functions check for "tpa6130a2_client != > NULL". tpa6130a2_client is set before the probe function has finished, > though. Simplified probe: > > ... > tpa6130a2_client = client; > set_default_regs(); > acquire_power_gpio(); > acquire_regulator(); > tpa6130a2_power(1); // needs tpa6130a2_client > check_device(); > tpa6130a2_power(0); // needs tpa6130a2_client > ... > > If tpa6130a2_add_controls() or tpa6130a2_stereo_enable() is called > after tpa6130a2 probe has started, but before probe has completed, > tpa6130a2_client is set, but not yet initialized. The race condition > can be fixed easily by moving the tpa6130a2_client assignment directly > after the regulator acquisition. > > -- Sebastian Is this race condition really relevant? If yes, then it should be fixed. -- Pali Rohár pali.rohar@xxxxxxxxx -- To unsubscribe from this list: send the line "unsubscribe linux-omap" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html