[PATCH] Drivers: hv: vmbus: fix error return code in vmbus_connect()
Wei Yongjun
weiyj.lk at gmail.com
Thu Sep 12 00:25:47 UTC 2013
On 09/12/2013 04:03 AM, KY Srinivasan wrote:
>
>> -----Original Message-----
>> From: Wei Yongjun [mailto:weiyj.lk at gmail.com]
>> Sent: Wednesday, September 11, 2013 4:20 AM
>> To: KY Srinivasan; Haiyang Zhang
>> Cc: yongjun_wei at trendmicro.com.cn; devel at linuxdriverproject.org; linux-
>> kernel at vger.kernel.org
>> Subject: [PATCH] Drivers: hv: vmbus: fix error return code in vmbus_connect()
>>
>> From: Wei Yongjun <yongjun_wei at trendmicro.com.cn>
>>
>> Fix to return -EINVAL in the version check error handling
>> case instead of 0, as done elsewhere in this function.
> The return will not be zero in this case. If you look at the function
> vmbus_negotiate_version(), in case the host refuses the version, the
> return value will be set to -ECONNREFUSED
look at the code:
196 do {
197 ret = vmbus_negotiate_version(msginfo, version);
198 if (ret)
199 goto cleanup;
200
201 if (vmbus_connection.conn_state == CONNECTED)
202 break;
203
204 version = vmbus_get_next_version(version);
205 } while (version != VERSION_INVAL);
206
207 if (version == VERSION_INVAL)
208 goto cleanup;
if function vmbus_negotiate_version() return error, the code
will goto cleanup.
If 'version == VERSION_INVAL' is true, I think we tried all
of the VERSION_WS2008/VERSION_WIN7/VERSION_WIN8, but still
can not get the connection.
More information about the devel
mailing list