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

Reply via email to