On Wednesday 21 May 2008 23:13:05 Chris Lalancette wrote:> Author: Chris Lalancette <clalance@xxxxxxxxxx>> Date: Thu May 15 09:04:55 2008 -0400>> register_virtio_device was doing something silly, in that it was> overwriting what the calling driver stuck into .bus_id" for the name. This> caused problems in the output of /proc/interrupts, since when you> request_irq(), it doesn't actually copy the devname you pass in but just> stores a pointer to the data. The fix is to just not have> register_virtio_device do anything with the bus_id, and assume the higher> level driver set it up properly. OK, but only one higher-level driver will set it up properly: kvm. Neitherlguest nor s/390 do this, and as a result, they fail to register *any*devices. The following patch should fix it for s/390 (it's identical to the lguestpatch), but would prefer testing (S/390-ers cc'd). ===virtio: S/390 set name of virtio devices directly. Chris has a patch 'Fix silly output for virtio devices in /proc/interrupts'which requires callers to the virtio driver infrastructure to set the bus_idsthemselves. This does that for s/390. Signed-off-by: Rusty Russell <rusty@xxxxxxxxxxxxxxx>Cc: Christian Borntraeger <borntraeger@xxxxxxxxxx>Cc: Martin Schwidefsky <schwidefsky@xxxxxxxxxx>Cc: Carsten Otte <cotte@xxxxxxxxxx>Cc: Heiko Carstens <heiko.carstens@xxxxxxxxxx>Cc: Chris Lalancette <clalance@xxxxxxxxxx>--- drivers/s390/kvm/kvm_virtio.c | 2 ++ 1 file changed, 2 insertions(+) diff -r c903ef6b391f drivers/s390/kvm/kvm_virtio.c--- a/drivers/s390/kvm/kvm_virtio.c Thu May 22 22:31:31 2008 +1000+++ b/drivers/s390/kvm/kvm_virtio.c Thu May 22 22:32:55 2008 +1000@@ -265,6 +265,8 @@ static void add_kvm_device(struct kvm_de kdev->vdev.dev.parent = &kvm_root; kdev->vdev.index = dev_index++;+ snprintf(kdev->vdev.dev.bus_id, BUS_ID_SIZE, "virtio%d",+ kdev->vdev.index); kdev->vdev.id.device = d->type; kdev->vdev.config = &kvm_vq_configspace_ops; kdev->desc = d; _______________________________________________Virtualization mailing listVirtualization@xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx://lists.linux-foundation.org/mailman/listinfo/virtualization