From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1755912AbbBCDJT (ORCPT ); Mon, 2 Feb 2015 22:09:19 -0500 Received: from mx1.redhat.com ([209.132.183.28]:46765 "EHLO mx1.redhat.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1755888AbbBCDJS (ORCPT ); Mon, 2 Feb 2015 22:09:18 -0500 Date: Tue, 03 Feb 2015 03:16:46 +0008 From: Jason Wang Subject: RE: [PATCH v2 1/3] hv: hv_util: move vmbus_open() to a later place To: Dexuan Cui Cc: "gregkh@linuxfoundation.org" , "linux-kernel@vger.kernel.org" , "driverdev-devel@linuxdriverproject.org" , "olaf@aepfle.de" , "apw@canonical.com" , KY Srinivasan , "vkuznets@redhat.com" , Haiyang Zhang Message-Id: <1422932926.6732.0@smtp.corp.redhat.com> In-Reply-To: References: <1422851718-2353-1-git-send-email-decui@microsoft.com> <1422869774.7028.5@smtp.corp.redhat.com> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8; format=flowed Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Mon, Feb 2, 2015 at 6:09 PM, Dexuan Cui wrote: >> -----Original Message----- >> From: Jason Wang [mailto:jasowang@redhat.com] >> Sent: Monday, February 2, 2015 17:36 PM >> To: Dexuan Cui >> Cc: gregkh@linuxfoundation.org; linux-kernel@vger.kernel.org; >> driverdev- >> devel@linuxdriverproject.org; olaf@aepfle.de; apw@canonical.com; KY >> Srinivasan; vkuznets@redhat.com; Haiyang Zhang >> Subject: Re: [PATCH v2 1/3] hv: hv_util: move vmbus_open() to a >> later place >> >> >> >> On Mon, Feb 2, 2015 at 12:35 PM, Dexuan Cui >> wrote: >> > Before the line vmbus_open() returns, srv->util_cb can be already >> > running >> > and the variables, like util_fw_version, are needed by the >> > srv->util_cb. >> >> A questions is why we do this for util only? Can callbacks of other >> devices be called before vmbus_open() returns? > The variables are used in vmbus_prep_negotiate_resp(), which is only > for > the util devices. > > I think the other devices should already handle the similar issue > properly. > If this is not the case, we need to fix them too. Better to check all the others, e.g in balloon_probe(), it call hv_set_drvdata() after vmbus_open() and dose several datas setups in the middle. If balloon_onchannelcallback() could be called before hv_set_drvdata(), the code looks wrong. Thanks