]> Pileus Git - ~andy/linux/blobdiff - drivers/net/virtio_net.c
virtio-net: don't respond to cpu hotplug notifier if we're not ready
[~andy/linux] / drivers / net / virtio_net.c
index defec2b3c5a408ff035889d015d717f040e2864c..c4bc1cc7ef337d32af5ef4feb1bbb88ebacee083 100644 (file)
@@ -1116,6 +1116,11 @@ static int virtnet_cpu_callback(struct notifier_block *nfb,
 {
        struct virtnet_info *vi = container_of(nfb, struct virtnet_info, nb);
 
+       mutex_lock(&vi->config_lock);
+
+       if (!vi->config_enable)
+               goto done;
+
        switch(action & ~CPU_TASKS_FROZEN) {
        case CPU_ONLINE:
        case CPU_DOWN_FAILED:
@@ -1128,6 +1133,9 @@ static int virtnet_cpu_callback(struct notifier_block *nfb,
        default:
                break;
        }
+
+done:
+       mutex_unlock(&vi->config_lock);
        return NOTIFY_OK;
 }