Messages in this thread | | | 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 |
| |
On Mon, Feb 2, 2015 at 6:09 PM, Dexuan Cui <decui@microsoft.com> 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 <decui@microsoft.com> >> 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
| |