|
@@ -132,9 +132,6 @@ struct virtnet_info {
|
|
/* Work struct for config space updates */
|
|
/* Work struct for config space updates */
|
|
struct work_struct config_work;
|
|
struct work_struct config_work;
|
|
|
|
|
|
- /* Lock for config space updates */
|
|
|
|
- struct mutex config_lock;
|
|
|
|
-
|
|
|
|
/* Does the affinity hint is set for virtqueues? */
|
|
/* Does the affinity hint is set for virtqueues? */
|
|
bool affinity_hint_set;
|
|
bool affinity_hint_set;
|
|
|
|
|
|
@@ -1404,7 +1401,6 @@ static void virtnet_config_changed_work(struct work_struct *work)
|
|
container_of(work, struct virtnet_info, config_work);
|
|
container_of(work, struct virtnet_info, config_work);
|
|
u16 v;
|
|
u16 v;
|
|
|
|
|
|
- mutex_lock(&vi->config_lock);
|
|
|
|
if (virtio_cread_feature(vi->vdev, VIRTIO_NET_F_STATUS,
|
|
if (virtio_cread_feature(vi->vdev, VIRTIO_NET_F_STATUS,
|
|
struct virtio_net_config, status, &v) < 0)
|
|
struct virtio_net_config, status, &v) < 0)
|
|
goto done;
|
|
goto done;
|
|
@@ -1430,7 +1426,7 @@ static void virtnet_config_changed_work(struct work_struct *work)
|
|
netif_tx_stop_all_queues(vi->dev);
|
|
netif_tx_stop_all_queues(vi->dev);
|
|
}
|
|
}
|
|
done:
|
|
done:
|
|
- mutex_unlock(&vi->config_lock);
|
|
|
|
|
|
+ return;
|
|
}
|
|
}
|
|
|
|
|
|
static void virtnet_config_changed(struct virtio_device *vdev)
|
|
static void virtnet_config_changed(struct virtio_device *vdev)
|
|
@@ -1751,7 +1747,6 @@ static int virtnet_probe(struct virtio_device *vdev)
|
|
u64_stats_init(&virtnet_stats->rx_syncp);
|
|
u64_stats_init(&virtnet_stats->rx_syncp);
|
|
}
|
|
}
|
|
|
|
|
|
- mutex_init(&vi->config_lock);
|
|
|
|
INIT_WORK(&vi->config_work, virtnet_config_changed_work);
|
|
INIT_WORK(&vi->config_work, virtnet_config_changed_work);
|
|
|
|
|
|
/* If we can receive ANY GSO packets, we must allocate large ones. */
|
|
/* If we can receive ANY GSO packets, we must allocate large ones. */
|