From 09cc6f2f89744463ecb7baba1bbf2c3bed308154 Mon Sep 17 00:00:00 2001 From: Bogdano Arendartchuk Date: Tue, 15 Sep 2009 19:46:32 +0000 Subject: oops, virtio devices should be matched against subdevice id, as per drivers/virtio/virtio_pci.c --- mdk-stage1/probing.c | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) (limited to 'mdk-stage1/probing.c') diff --git a/mdk-stage1/probing.c b/mdk-stage1/probing.c index 4ca30fbe4..3052b2823 100644 --- a/mdk-stage1/probing.c +++ b/mdk-stage1/probing.c @@ -329,18 +329,22 @@ void probe_virtio_modules(void) int i; char *name; char *options; + int loaded_pci = 0; entries = pci_probe(); for (i = 0; i < entries.nb; i++) { struct pciusb_entry *e = &entries.entries[i]; if (e->vendor == VIRTIO_PCI_VENDOR) { + if (!loaded_pci) { + log_message("loading virtio-pci"); + my_insmod("virtio_pci", ANY_DRIVER_TYPE, NULL, 0); + loaded_pci = 1; + } + name = NULL; options = NULL; - switch (e->device) { - case VIRTIO_ID_PCI: - name = "virtio_pci"; - break; + switch (e->subdevice) { case VIRTIO_ID_NET: name = "virtio_net"; options = "csum=0"; -- cgit v1.2.1