From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1757736AbbGQK1l (ORCPT ); Fri, 17 Jul 2015 06:27:41 -0400 Received: from mail-pa0-f45.google.com ([209.85.220.45]:34100 "EHLO mail-pa0-f45.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1757708AbbGQK1j (ORCPT ); Fri, 17 Jul 2015 06:27:39 -0400 Date: Fri, 17 Jul 2015 15:57:21 +0530 From: Sudip Mukherjee To: Dan Carpenter Cc: devel@driverdev.osuosl.org, Lidza Louina , Daeseok Youn , driverdev-devel@linuxdriverproject.org, linux-kernel@vger.kernel.org, Greg Kroah-Hartman Subject: Re: [PATCH 1/4] staging: dgap: fix error path Message-ID: <20150717102721.GA3832@sudip-PC> References: <1437051500-20419-1-git-send-email-sudipm.mukherjee@gmail.com> <20150717093003.GA5371@mwanda> <20150717095128.GA3229@sudip-PC> <20150717100555.GB5371@mwanda> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20150717100555.GB5371@mwanda> 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, Jul 17, 2015 at 01:05:55PM +0300, Dan Carpenter wrote: > On Fri, Jul 17, 2015 at 03:21:28PM +0530, Sudip Mukherjee wrote: > > On Fri, Jul 17, 2015 at 12:30:03PM +0300, Dan Carpenter wrote: > > > I don't think I like these at all. remove_one has always been buggy in > > > that it removes everything. We should fix it to only remove one instead > > > of formalizing the currect terrible behavior. > > Its already applied. > > I thought after the full series the code became a little better than the > > original one. > > It looks nicer but it's wrong. > > > > Now dgap_stop() is being called from dgap_remove_one(). How do you suggest > > it should be? > > dgap_remove_one() should mirror dgap_init_one(). dgap_stop() should > only be called from dgap_cleanup_module(). dgap_cleanup_module() should > mirror dgap_init_module(). But if dgap_stop() is only called from dgap_cleanup_module() then what will happen if the pci device is suddenly removed? Currently if the pci device is removed then the remove callback will be executed and it will stop and unregister everything properly. regards sudip