In case of invalid sub channel, release cpu lock before returning.
Unified · Split
| @@ -639,6 +639,7 @@ static void vmbus_process_offer(struct vmbus_channel *newchannel) · 638 unmodified lines | |||
| 639 | */ | 639 | */ |
| 640 | if (newchannel->offermsg.offer.sub_channel_index == 0) { | 640 | if (newchannel->offermsg.offer.sub_channel_index == 0) { |
| 641 | mutex_unlock(&vmbus_connection.channel_mutex); | 641 | mutex_unlock(&vmbus_connection.channel_mutex); |
| 642 | cpus_read_unlock(); | ||
| 642 | /* | 643 | /* |
| 643 | * Don't call free_channel(), because newchannel->kobj | 644 | * Don't call free_channel(), because newchannel->kobj |
| 644 | * is not initialized yet. | 645 | * is not initialized yet. |