> IIUC, you're suggesting that I do: > > for (i = 0; i < ARRAY_SIZE(vmbus_versions); i++) { > version = vmbus_versions[i]; > > ret = vmbus_negotiate_version(msginfo, version); > if (ret == -ETIMEDOUT) > goto cleanup; > > if (vmbus_connection.conn_state == CONNECTED) > break; > } > > if (vmbus_connection.conn_state != CONNECTED) > break; This "break" should have been "goto cleanup". Sorry. Andrea