From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752548AbcFJUGs (ORCPT ); Fri, 10 Jun 2016 16:06:48 -0400 Received: from vps0.lunn.ch ([178.209.37.122]:41873 "EHLO vps0.lunn.ch" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752007AbcFJUGq (ORCPT ); Fri, 10 Jun 2016 16:06:46 -0400 Date: Fri, 10 Jun 2016 22:06:43 +0200 From: Andrew Lunn To: Vivien Didelot Cc: netdev@vger.kernel.org, linux-kernel@vger.kernel.org, kernel@savoirfairelinux.com, "David S. Miller" , Florian Fainelli Subject: Re: [PATCH net-next 4/8] net: dsa: mv88e6xxx: do not increment bus refcount Message-ID: <20160610200643.GK2338@lunn.ch> References: <20160609004456.5441-1-vivien.didelot@savoirfairelinux.com> <20160609004456.5441-5-vivien.didelot@savoirfairelinux.com> <20160609023641.GJ2227@lunn.ch> <87k2hwq0h1.fsf@ketchup.mtl.sfl> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <87k2hwq0h1.fsf@ketchup.mtl.sfl> User-Agent: Mutt/1.5.21 (2010-09-15) Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Fri, Jun 10, 2016 at 03:59:22PM -0400, Vivien Didelot wrote: > Hi, > > Andrew Lunn writes: > > > On Wed, Jun 08, 2016 at 08:44:52PM -0400, Vivien Didelot wrote: > >> The MDIO device probe and remove functions are respectively incrementing > >> and decrementing the bus refcount themselves. Since these bus level > >> actions are out of the device scope, remove them. > > > > I agree with the patch. But have you checked the mdio layer is doing > > the right thing? If not, we should fix that first. > > So I added some printing after incrementing/decrementing the refcount in > get_device/put_device to track &ps->bus->dev, which name is "0.1". > > Regardless having this patch or not, the refcount of the 0.1 mii_bus > device is 5 before loading the mv88e6xxx module on vf610-zii-dev-rev-b. > > Below is a portion of dmesg: > > [ 8.921647] get_device: 400d1000.etherne refcount: 4 > [ 8.926225] get_device: 0.1 refcount: 2 > [ 8.929561] get_device: mdio-mux refcount: 5 > [ 8.934076] get_device: 0.1 refcount: 3 > [ 8.937446] get_device: 0.1 refcount: 4 > [ 8.940792] put_device: 0.1 refcount: 3 > [ 8.944181] libphy: mdio_mux: probed > [ 8.947885] mdio_bus 0.1:00: mdio_device_register > [ 8.952649] get_device: 0.1:00 refcount: 2 > [ 8.956283] get_device: 0.1 refcount: 4 > [ 8.959838] get_device: 0.1:00 refcount: 3 > [ 8.963991] get_device: 0.1:00 refcount: 4 > [ 8.967598] put_device: 0.1:00 refcount: 3 > [ 8.971298] get_device: 0.2 refcount: 2 > [ 8.974687] get_device: mdio-mux refcount: 7 > > So it seems like of_ is managing the bus refcount on events such as a > new child node (0.1:00). Great, thanks for looking at this. Acked-by: Andrew Lunn Andrew