From mboxrd@z Thu Jan 1 00:00:00 1970 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: base64 Subject: [v2] usb: typec: fusb302: Fix debugfs mutex initialisation From: Heikki Krogerus Message-Id: <20190319114511.GS7752@kuha.fi.intel.com> Date: Tue, 19 Mar 2019 13:45:11 +0200 To: Marc Zyngier , Greg Kroah-Hartman Cc: Guenter Roeck , linux-usb@vger.kernel.org, linux-kernel@vger.kernel.org List-ID: T24gTW9uLCBNYXIgMTgsIDIwMTkgYXQgMDU6NDk6MDZQTSArMDAwMCwgTWFyYyBaeW5naWVyIHdy b3RlOgo+IFJ1bm5pbmcgYSBrZXJuZWwgd2l0aCB0aGUgZnVzYjMwMiBkcml2ZXIgYW5kIGxvY2tk ZXAgZW5hYmxlZAo+IGxlYWRzIHRvIGFuIHVucGxlYXNhbnQgd2FybmluZzoKPiAKPiBbICAgIDQu NjE3NDc3XSBJTkZPOiB0cnlpbmcgdG8gcmVnaXN0ZXIgbm9uLXN0YXRpYyBrZXkuCj4gWyAgICA0 LjYxNzkzMF0gdGhlIGNvZGUgaXMgZmluZSBidXQgbmVlZHMgbG9ja2RlcCBhbm5vdGF0aW9uLgo+ IFsgICAgNC42MTg0MThdIHR1cm5pbmcgb2ZmIHRoZSBsb2NraW5nIGNvcnJlY3RuZXNzIHZhbGlk YXRvci4KPiBbICAgIDQuNjE4OTEzXSBDUFU6IDAgUElEOiAxIENvbW06IHN3YXBwZXIvMCBOb3Qg dGFpbnRlZCA1LjEuMC1yYzEtMDAwMDctZzM1NDI1MzNmM2ZjOSAjMTMKPiBbICAgIDQuNjE5NjIw XSBIYXJkd2FyZSBuYW1lOiByb2NrY2hpcCBldmJfcmszMzk5L2V2Yl9yazMzOTksIEJJT1MgMjAx OS4wNC1yYzMtMDAxMjQtZzJmZWVjNjlmYjEgMDMvMTUvMjAxOQo+IFsgICAgNC42MjA0NTRdIENh bGwgdHJhY2U6Cj4gWyAgICA0LjYyMDY5M10gIGR1bXBfYmFja3RyYWNlKzB4MC8weDEzOAo+IFsg ICAgNC42MjEwMjhdICBzaG93X3N0YWNrKzB4MjQvMHgzMAo+IFsgICAgNC42MjEzMzZdICBkdW1w X3N0YWNrKzB4YmMvMHgxMDQKPiBbICAgIDQuNjIxNjQ5XSAgcmVnaXN0ZXJfbG9ja19jbGFzcysw eDU5NC8weDU5OAo+IFsgICAgNC42MjIwMzZdICBfX2xvY2tfYWNxdWlyZSsweDgwLzB4MTFiOAo+ IFsgICAgNC42MjIzODRdICBsb2NrX2FjcXVpcmUrMHhkYy8weDI2MAo+IFsgICAgNC42MjI3MTFd ICBfX211dGV4X2xvY2srMHg5MC8weDhhMAo+IFsgICAgNC42MjMwMzddICBtdXRleF9sb2NrX25l c3RlZCsweDNjLzB4NTAKPiBbICAgIDQuNjIzMzk0XSAgX2Z1c2IzMDJfbG9nKzB4ODgvMHgxZjAK PiBbICAgIDQuNjIzNzIxXSAgZnVzYjMwMl9sb2crMHg3Yy8weGEwCj4gWyAgICA0LjYyNDAzM10g IHRjcG1faW5pdCsweDVjLzB4MTkwCj4gWyAgICA0LjYyNDMzNl0gIHRjcG1faW5pdCsweDNjLzB4 MTMwCj4gWyAgICA0LjYyNDY0MF0gIHRjcG1fcmVnaXN0ZXJfcG9ydCsweDU3NC8weDg3OAo+IFsg ICAgNC42MjUwMTldICBmdXNiMzAyX3Byb2JlKzB4MmM4LzB4NTkwCj4gCj4gRGVzcGl0ZSB3aGF0 IHRoZSBtZXNzYWdlIHNheXMsIHRoZSBjb2RlIGlzbid0IGZpbmUsIGFzIGl0IHRyaWVzIHRvCj4g bWFrZSB1c2Ugb2YgdGhlIGZ1c2IzMDJfbG9nIGZhY2lsaXR5IHByZXR0eSBlYXJseS4gVGhpcyBy ZXF1aXJlcyB0aGUKPiBsb2didWZmZXJfbG9jayBtdXRleCB0byBiZSBpbml0aWFsaXNlZCwgYnV0 IHRoYXQgb25seSBoYXBwZW5zIG11Y2gKPiBsYXRlci4gQm9vLgo+IAo+IEhvaXN0IHRoZSBmdXNi MzAyX2RlYnVnZnNfaW5pdCBjYWxsIGJlZm9yZSB0Y3BtX3JlZ2lzdGVyX3BvcnQgc28gdGhhdAo+ IHdlIGNhbiBlbmpveSBhIHdvcmtpbmcgbXV0ZXguIEF0IEd1ZW50ZXIncyByZXF1ZXN0LCBhbHNv IGFkZCB0ZWFyZG93bgo+IG9mIHRoZSBkZWJ1Z2ZzIGZhY2lsaXR5IG9uIHRoZSBlcnJvciBwYXRo Lgo+IAo+IFNpZ25lZC1vZmYtYnk6IE1hcmMgWnluZ2llciA8bWFyYy56eW5naWVyQGFybS5jb20+ CgpBZnRlciBhcHBseWluZyB0aGlzIHRoZXJlIHdhcyBubyBtb3JlICJmdXNiMzAyIiBkZWJ1Z2Zz IGRpcmVjdG9yeSwgYW5kCmF0dGVtcHQgdG8gdW5sb2FkIHRoZSBmdXNiMzAyIG1vZHVsZSBkZWFk IGxvY2tlZC4gQWxzbywgYXR0ZW1wdCB0bwpyZWJvb3QgY2F1c2VkIHRoaXMgdG8gaGFwcGVuIG9u IG15IEdEUFdpbiBib2FyZCBhZnRlciBhcHBseWluZyB0aGUKcGF0Y2g6CgogICAgICAgIEJVRzog RGVudHJ5IDAwMDAwMDAwMTJmMmEwNWR7aT0xNDksbj1pMmMtZnVzYjMwMn0gIHN0aWxsIGluIHVz ZSAoMSkgW3VubW91bnQgb2Ygc3lzZnMgc3lzZnNdCiAgICAgICAgV0FSTklORzogQ1BVOiAzIFBJ RDogMTYzOSBhdCBmcy9kY2FjaGUuYzoxNTI5IHVtb3VudF9jaGVjay5jb2xkLjU1KzB4MmUvMHgz YQogICAgICAgIE1vZHVsZXMgbGlua2VkIGluOiBpbnRlbF94aGNpX3VzYl9yb2xlX3N3aXRjaCBy b2xlcyBwaTN1c2IzMDUzMiB0eXBlYyBpOTE1IGludGVsX2d0dCBpbnRlbF9jaHRfaW50MzNmZSBb bGFzdCB1bmxvYWRlZDogdGNwbV0KICAgICAgICBDUFU6IDMgUElEOiAxNjM5IENvbW06IHVtb3Vu dCBOb3QgdGFpbnRlZCA1LjEuMC1yYzEtaGVpa2tpKyAjOTE2CiAgICAgICAgSGFyZHdhcmUgbmFt ZTogRGVmYXVsdCBzdHJpbmcgRGVmYXVsdCBzdHJpbmcvRGVmYXVsdCBzdHJpbmcsIEJJT1MgNS4x MSAwNS8yNS8yMDE3CiAgICAgICAgUklQOiAwMDEwOnVtb3VudF9jaGVjay5jb2xkLjU1KzB4MmUv MHgzYQogICAgICAgIC4uLgoKTm90ZS4gWW91ciBwYXRjaCBoYXMgYWxzbyBhIGNvbmZsaWN0IHdp dGggcGF0Y2hlcyBmcm9tIEhhbnMsIEkKdGhpbmsgd2l0aCB0aGlzIG9uZTogaHR0cHM6Ly9wYXRj aHdvcmsua2VybmVsLm9yZy9wYXRjaC8xMDg0NzI3NS8KSSBjYW4gdGFrZSBjYXJlIG9mIHRoYXQs IGJ1dCB5b3UgY2FuIGFsc28gcmViYXNlIHRoZSBuZXh0IHZlcnNpb24gb24KdG9wIG9mIG15IHR5 cGVjLW5leHQgYnJhbmNoIHRvIHNvbHZlIHRoYXQgcHJvYmxlbToKaHR0cHM6Ly9naXRodWIuY29t L2tyb2hlaS9saW51eC9jb21taXRzL3R5cGVjLW5leHQKCkkgdGhpbmsgSSBuZWVkIHRvIGFkZCB0 aGF0IHRvIHRoZSBNQUlOVEFJTkVSUyBmaWxlLgoKCnRoYW5rcywK From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-10.5 required=3.0 tests=HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,MENTIONS_GIT_HOSTING, SIGNED_OFF_BY,SPF_PASS,USER_AGENT_MUTT autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id D8068C43381 for ; Tue, 19 Mar 2019 11:45:18 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.kernel.org (Postfix) with ESMTP id B2F4620857 for ; Tue, 19 Mar 2019 11:45:18 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1727505AbfCSLpR (ORCPT ); Tue, 19 Mar 2019 07:45:17 -0400 Received: from mga17.intel.com ([192.55.52.151]:64898 "EHLO mga17.intel.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726002AbfCSLpP (ORCPT ); Tue, 19 Mar 2019 07:45:15 -0400 X-Amp-Result: UNKNOWN X-Amp-Original-Verdict: FILE UNKNOWN X-Amp-File-Uploaded: False Received: from fmsmga001.fm.intel.com ([10.253.24.23]) by fmsmga107.fm.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 19 Mar 2019 04:45:14 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.58,497,1544515200"; d="scan'208";a="156317827" Received: from kuha.fi.intel.com ([10.237.72.189]) by fmsmga001.fm.intel.com with SMTP; 19 Mar 2019 04:45:12 -0700 Received: by kuha.fi.intel.com (sSMTP sendmail emulation); Tue, 19 Mar 2019 13:45:11 +0200 Date: Tue, 19 Mar 2019 13:45:11 +0200 From: Heikki Krogerus To: Marc Zyngier , Greg Kroah-Hartman Cc: Guenter Roeck , linux-usb@vger.kernel.org, linux-kernel@vger.kernel.org Subject: Re: [PATCH v2] usb: typec: fusb302: Fix debugfs mutex initialisation Message-ID: <20190319114511.GS7752@kuha.fi.intel.com> References: <20190318174906.10429-1-marc.zyngier@arm.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20190318174906.10429-1-marc.zyngier@arm.com> User-Agent: Mutt/1.11.3 (2019-02-01) Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Mon, Mar 18, 2019 at 05:49:06PM +0000, Marc Zyngier wrote: > Running a kernel with the fusb302 driver and lockdep enabled > leads to an unpleasant warning: > > [ 4.617477] INFO: trying to register non-static key. > [ 4.617930] the code is fine but needs lockdep annotation. > [ 4.618418] turning off the locking correctness validator. > [ 4.618913] CPU: 0 PID: 1 Comm: swapper/0 Not tainted 5.1.0-rc1-00007-g3542533f3fc9 #13 > [ 4.619620] Hardware name: rockchip evb_rk3399/evb_rk3399, BIOS 2019.04-rc3-00124-g2feec69fb1 03/15/2019 > [ 4.620454] Call trace: > [ 4.620693] dump_backtrace+0x0/0x138 > [ 4.621028] show_stack+0x24/0x30 > [ 4.621336] dump_stack+0xbc/0x104 > [ 4.621649] register_lock_class+0x594/0x598 > [ 4.622036] __lock_acquire+0x80/0x11b8 > [ 4.622384] lock_acquire+0xdc/0x260 > [ 4.622711] __mutex_lock+0x90/0x8a0 > [ 4.623037] mutex_lock_nested+0x3c/0x50 > [ 4.623394] _fusb302_log+0x88/0x1f0 > [ 4.623721] fusb302_log+0x7c/0xa0 > [ 4.624033] tcpm_init+0x5c/0x190 > [ 4.624336] tcpm_init+0x3c/0x130 > [ 4.624640] tcpm_register_port+0x574/0x878 > [ 4.625019] fusb302_probe+0x2c8/0x590 > > Despite what the message says, the code isn't fine, as it tries to > make use of the fusb302_log facility pretty early. This requires the > logbuffer_lock mutex to be initialised, but that only happens much > later. Boo. > > Hoist the fusb302_debugfs_init call before tcpm_register_port so that > we can enjoy a working mutex. At Guenter's request, also add teardown > of the debugfs facility on the error path. > > Signed-off-by: Marc Zyngier After applying this there was no more "fusb302" debugfs directory, and attempt to unload the fusb302 module dead locked. Also, attempt to reboot caused this to happen on my GDPWin board after applying the patch: BUG: Dentry 0000000012f2a05d{i=149,n=i2c-fusb302} still in use (1) [unmount of sysfs sysfs] WARNING: CPU: 3 PID: 1639 at fs/dcache.c:1529 umount_check.cold.55+0x2e/0x3a Modules linked in: intel_xhci_usb_role_switch roles pi3usb30532 typec i915 intel_gtt intel_cht_int33fe [last unloaded: tcpm] CPU: 3 PID: 1639 Comm: umount Not tainted 5.1.0-rc1-heikki+ #916 Hardware name: Default string Default string/Default string, BIOS 5.11 05/25/2017 RIP: 0010:umount_check.cold.55+0x2e/0x3a ... Note. Your patch has also a conflict with patches from Hans, I think with this one: https://patchwork.kernel.org/patch/10847275/ I can take care of that, but you can also rebase the next version on top of my typec-next branch to solve that problem: https://github.com/krohei/linux/commits/typec-next I think I need to add that to the MAINTAINERS file. thanks, -- heikki