From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1753160AbcBWOAZ (ORCPT ); Tue, 23 Feb 2016 09:00:25 -0500 Received: from mx0b-001ae601.pphosted.com ([67.231.152.168]:36827 "EHLO mx0b-001ae601.pphosted.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751355AbcBWOAV (ORCPT ); Tue, 23 Feb 2016 09:00:21 -0500 Authentication-Results: ppops.net; spf=none smtp.mail=ckeepax@opensource.wolfsonmicro.com Date: Tue, 23 Feb 2016 14:00:02 +0000 From: Charles Keepax To: Robert Jarzmik CC: Liam Girdwood , Mark Brown , Jaroslav Kysela , Takashi Iwai , , , , Lars-Peter Clausen Subject: Re: [PATCH v2] ASoC: wm9713: fix regmap free path Message-ID: <20160223140002.GE1490@localhost.localdomain> References: <1456180544-29108-1-git-send-email-robert.jarzmik@free.fr> MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Disposition: inline In-Reply-To: <1456180544-29108-1-git-send-email-robert.jarzmik@free.fr> User-Agent: Mutt/1.5.23 (2014-03-12) X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 spamscore=0 suspectscore=0 malwarescore=0 phishscore=0 adultscore=0 bulkscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.0.1-1601100000 definitions=main-1602230167 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Mon, Feb 22, 2016 at 11:35:44PM +0100, Robert Jarzmik wrote: > In the conversion to regmap, I assumed that the devm_() variant could be > used in the soc probe function. > > As a mater of fact with the current code the regmap is freed twice > because of the devm_() call: > (mutex_lock) from [] (debugfs_remove_recursive+0x50/0x1d0) > (debugfs_remove_recursive) from [] (regmap_debugfs_exit+0x1c/0xd4) > (regmap_debugfs_exit) from [] (regmap_exit+0x28/0xc8) > (regmap_exit) from [] (release_nodes+0x18c/0x204) > (release_nodes) from [] (device_release+0x18/0x90) > (device_release) from [] (kobject_release+0x90/0x1bc) > (kobject_release) from [] (wm9713_soc_remove+0x1c/0x24) > (wm9713_soc_remove) from [] (soc_remove_component+0x50/0x7c) > (soc_remove_component) from [] (soc_remove_dai_links+0x118/0x228) > (soc_remove_dai_links) from [] (snd_soc_register_card+0x4e4/0xdd4) > (snd_soc_register_card) from [] (devm_snd_soc_register_card+0x34/0x70) > > Fix this by replacing the devm_regmap initialization code with the non > devm_() variant. > > Fixes: 700dadfefc3d ASoC: wm9713: convert to regmap > Cc: Lars-Peter Clausen > Signed-off-by: Robert Jarzmik > --- Acked-by: Charles Keepax I am totally happy for this patch to be merged but would it not be prefferable to do the regmap init in the device probe and still use the devm_ call? Doing the regmap setup in the ASoC probe is a little unusual and I don't really see any reason why it is necessary here. Unless I am missing something? Thanks, Charles