mirror of
				https://github.com/torvalds/linux.git
				synced 2025-11-04 10:40:15 +02:00 
			
		
		
		
	virtio_net: enable VQs early
virtio spec requires drivers to set DRIVER_OK before using VQs. This is set automatically after probe returns, virtio net violated this rule by using receive VQs within probe. To fix, call virtio_device_ready before using VQs. Signed-off-by: Michael S. Tsirkin <mst@redhat.com> Reviewed-by: Cornelia Huck <cornelia.huck@de.ibm.com> Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
This commit is contained in:
		
							parent
							
								
									3569db5930
								
							
						
					
					
						commit
						4baf1e33d0
					
				
					 1 changed files with 2 additions and 0 deletions
				
			
		| 
						 | 
					@ -1792,6 +1792,8 @@ static int virtnet_probe(struct virtio_device *vdev)
 | 
				
			||||||
		goto free_vqs;
 | 
							goto free_vqs;
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						virtio_device_ready(vdev);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	/* Last of all, set up some receive buffers. */
 | 
						/* Last of all, set up some receive buffers. */
 | 
				
			||||||
	for (i = 0; i < vi->curr_queue_pairs; i++) {
 | 
						for (i = 0; i < vi->curr_queue_pairs; i++) {
 | 
				
			||||||
		try_fill_recv(&vi->rq[i], GFP_KERNEL);
 | 
							try_fill_recv(&vi->rq[i], GFP_KERNEL);
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
		Loading…
	
		Reference in a new issue