commit cb97605728fc1d7a15ddc6ab689e8bcd23871133 Author: Chris Lalancette 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. diff --git a/drivers/virtio/virtio.c b/drivers/virtio/virtio.c index 138a7f0..1556ac2 100644 --- a/drivers/virtio/virtio.c +++ b/drivers/virtio/virtio.c @@ -128,7 +128,6 @@ int register_virtio_device(struct virtio_device *dev) int err; dev->dev.bus = &virtio_bus; - sprintf(dev->dev.bus_id, "%u", dev->index); /* We always start by resetting the device, in case a previous * driver messed it up. This also tests that code path a little. */