Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1756758AbbFQNRA (ORCPT ); Wed, 17 Jun 2015 09:17:00 -0400 Received: from mezzanine.sirena.org.uk ([106.187.55.193]:35009 "EHLO mezzanine.sirena.org.uk" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1756632AbbFQNQn (ORCPT ); Wed, 17 Jun 2015 09:16:43 -0400 Date: Wed, 17 Jun 2015 14:16:09 +0100 From: Mark Brown To: Sagar Dharia Cc: gregkh@linuxfoundation.org, bp@suse.de, poeschel@lemonage.de, treding@nvidia.com, gong.chen@linux.intel.com, andreas.noever@gmail.com, alan@linux.intel.com, mathieu.poirier@linaro.org, daniel@ffwll.ch, oded.gabbay@amd.com, jkosina@suse.cz, sharon.dvir1@mail.huji.ac.il, joe@perches.com, davem@davemloft.net, james.hogan@imgtec.com, michael.opdenacker@free-electrons.com, daniel.thompson@linaro.org, linux-kernel@vger.kernel.org, nkaje@codeaurora.org, kheitke@audience.com, mlocke@codeaurora.org, agross@codeaurora.org, linux-arm-msm@vger.kernel.org Message-ID: <20150617131609.GG3214@sirena.org.uk> References: <1434505564-14333-1-git-send-email-sdharia@codeaurora.org> <1434505564-14333-2-git-send-email-sdharia@codeaurora.org> MIME-Version: 1.0 Content-Type: multipart/signed; micalg=pgp-sha256; protocol="application/pgp-signature"; boundary="IuhbYIxU28t+Kd57" Content-Disposition: inline In-Reply-To: <1434505564-14333-2-git-send-email-sdharia@codeaurora.org> X-Cookie: Drive defensively. Buy a tank. User-Agent: Mutt/1.5.23 (2014-03-12) X-SA-Exim-Connect-IP: 94.197.120.214 X-SA-Exim-Mail-From: broonie@sirena.org.uk Subject: Re: [PATCH V2 1/6] SLIMbus: Device management on SLIMbus X-SA-Exim-Version: 4.2.1 (built Mon, 26 Dec 2011 16:24:06 +0000) X-SA-Exim-Scanned: Yes (on mezzanine.sirena.org.uk) Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 2180 Lines: 67 --IuhbYIxU28t+Kd57 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline On Tue, Jun 16, 2015 at 07:45:59PM -0600, Sagar Dharia wrote: > + if (status) { > + slim_dev->driver = NULL; > + } else if (driver->device_up) { > + ctrl = slim_dev->ctrl; > + queue_work(ctrl->wq, &slim_dev->wd); > + } Nothing ever cleans this work up if it didn't manage to run or complete. > +static void slim_report(struct work_struct *work) > +{ > + struct slim_driver *sbdrv; > + struct slim_device *sbdev = container_of(work, struct slim_device, wd); > + > + if (!sbdev->dev.driver) > + return; So we just forget about the device if we don't have a driver for it? > + /* check if device-up or down needs to be called */ > + if ((!sbdev->reported && !sbdev->notified) || > + (sbdev->reported && sbdev->notified)) > + return; No locking here? > +/** > + * slim_ctrl_add_boarddevs: Add devices registered by board-info > + * @ctrl: Controller to which these devices are to be added to. > + * This API is called by controller when it is up and running. > + * If devices on a controller were registered before controller, > + * this will make sure that they get probed when controller is up. > + */ > +void slim_ctrl_add_boarddevs(struct slim_controller *ctrl) My concerns about the split here still remain. --IuhbYIxU28t+Kd57 Content-Type: application/pgp-signature; name="signature.asc" Content-Description: Digital signature -----BEGIN PGP SIGNATURE----- Version: GnuPG v2 iQEcBAEBCAAGBQJVgXMYAAoJECTWi3JdVIfQ3JcH/idUCW8oGQzKvY2VJD2WmiI1 JHOTOk9oGYAfUzHQecIKHWDIhlcfnvoMWJ7d+3qv1OH0b4NFsuozdIn4bhw73Dwp C6F5IqveX4FT/rF+yQ6eganKYl/cI5k8e+EgM5wrNyfJmn3sxbohnuqgGFngdHVp t9Ej7IhKoSTDX/bw+q2DnkTctUG9A4ADz44SNF+ZZUU369FjIKihwmQ2yhtnrpsM RAZDwPqOExlGUW9BPPBRQ8xwpCMhPAynfQyldWbO7X2Y1T2TR70h8rn3GBRsufo6 VL9BG6w52AniketUPU75Zqw60f2zS1E6oP1e9o2XlvnpUUOGI4nH4966ylKJr64= =4OMQ -----END PGP SIGNATURE----- --IuhbYIxU28t+Kd57-- -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/