-----Original Message-----
From: Jason Wang [mailto:jasow...@redhat.com]
Sent: Monday, February 2, 2015 7:38 PM
To: KY Srinivasan
Cc: Dexuan Cui; gre...@linuxfoundation.org;
linux-ker...@vger.kernel.org;
driverdev-devel@linuxdriverproject.org; o...@aepfle.de;
a...@canonical.com; vkuzn...@redhat.com; Haiyang Zhang
Subject: RE: [PATCH v2 1/3] hv: hv_util: move vmbus_open() to a
later place
On Tue, Feb 3, 2015 at 11:30 AM, KY Srinivasan <k...@microsoft.com>
wrote:
>
>
>> -----Original Message-----
>> From: Jason Wang [mailto:jasow...@redhat.com]
>> Sent: Monday, February 2, 2015 7:09 PM
>> To: Dexuan Cui
>> Cc: gre...@linuxfoundation.org; linux-ker...@vger.kernel.org;
>> driverdev-
>> de...@linuxdriverproject.org; o...@aepfle.de;
a...@canonical.com; KY
>> Srinivasan; vkuzn...@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 6:09 PM, Dexuan Cui <de...@microsoft.com>
>> wrote:
>> >> -----Original Message-----
>> >> From: Jason Wang [mailto:jasow...@redhat.com] >> Sent:
Monday,
>> February 2, 2015 17:36 PM >> To: Dexuan Cui >> Cc:
>> gre...@linuxfoundation.org; linux-ker...@vger.kernel.org; >>
>> driverdev- >> de...@linuxdriverproject.org; o...@aepfle.de;
>> a...@canonical.com; KY >> Srinivasan; vkuzn...@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 <de...@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.
>
> Jason,
>
> For all other device types, the guest initiates the communication
with
> the host and potentially negotiates appropriate (supported)
version
> with the host. For the services packaged in the util driver, the
flow
> is a little different - the host pushes the version information
into
> the guest. So, the fix Dexuan made is only needed in the util
driver.
>
> Regards,
>
> K. Y
Thanks, so you mean for other device, it won't get any interrupt
before guest
negotiate the version with host?