At Tue, 30 Sep 2008 10:31:37 +0200, Jean Delvare wrote:
Hi Takashi,
On Mon, 29 Sep 2008 15:48:03 +0200, Takashi Iwai wrote:
At Mon, 29 Sep 2008 08:42:15 -0500, Timur Tabi wrote:
On Sun, Aug 31, 2008 at 7:42 AM, Jean Delvare khali@linux-fr.org wrote:
The error path in cs4270_probe/cs4270_remove is pretty broken:
- If cs4270_probe fails, codec is leaked.
- If snd_soc_register_card fails, cs4270_i2c_driver stays registered.
- If I2C support is enabled but no I2C device is found, i2c_del_driver
is never called (neither in cs4270_probe nor in cs4270_remove.)
Fix the first 2 problems by implementing a clean error path in cs4270_probe and jumping to its labels as needed. Fix the 3rd problem by removing the condition to call i2c_del_driver in cs4270_remove.
Signed-off-by: Jean Delvare khali@linux-fr.org
Acked-By: Timur Tabi timur@freescale.com
Takashi, this patch needs to go into 2.6.27 as well. Sorry about that. I don't know how I missed so many problems with my code.
Don't worry, I already put it to the queue, too.
I fear there's some confusion there. There are two different patches fixing error paths in cs4270. One fixing a fallout from the new-style i2c driver conversion (in cs4270_i2c_probe), under name "ASoC: Fix another cs4270 error path". This one you pushed to Linus last night.
But there's another one, named "ASoC: Fix cs4270 error path", originally posted by myself on August 31st, fixing the error path of cs4270_probe. This is the one Timur was just acking, but I do _not_ see it in your queue, so I suspect you missed it. I can resend it if it helps.
Oh, OK, then I must have missed that. Could you repost? And, this *must* go to 2.6.27, or not?
Frankly, this series of cs4270 patches have been hard to handle because it was always unclear what the patch is for. The description "It's for 2.6.x" is too ambiguous because it doesn't always mean the purpose but also can mean the based version of the patch. So, a more clear sign would be really helpful for me at the next time...
thanks,
Takashi