On Wednesday 21 May 2008 23:13:05 Chris Lalancette wrote:
> Author: Chris Lalancette <[EMAIL PROTECTED]>
> 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. Neither
lguest 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 lguest
patch), 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_ids
themselves. This does that for s/390.
Signed-off-by: Rusty Russell <[EMAIL PROTECTED]>
Cc: Christian Borntraeger <[EMAIL PROTECTED]>
Cc: Martin Schwidefsky <[EMAIL PROTECTED]>
Cc: Carsten Otte <[EMAIL PROTECTED]>
Cc: Heiko Carstens <[EMAIL PROTECTED]>
Cc: Chris Lalancette <[EMAIL PROTECTED]>
---
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;
--
To unsubscribe from this list: send the line "unsubscribe kvm" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at http://vger.kernel.org/majordomo-info.html