Skip to contentSkip to conversation

: Fix silly output for virtio devices in /proc/interrupts

PATCH New Chris Lalancette 1 participant 1 message May 21, 2008

Subsystems (2)
lore
Share & tools
lore
#0 lore raw

PATCH 1/1 : Fix silly output for virtio devices in /proc/interrupts

register_virtio_device() is doing something silly by overwriting what the caller put into .bus_id. This causes the interrupt line for all virtio devices to show up as "0", "1", etc. in /proc/interrupts. The attached patch fixes it.

commit cb97605728fc1d7a15ddc6ab689e8bcd23871133

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.

drivers/virtio/virtio.c +0 -1
index 138a7f0..1556ac2 100644
@@ -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. */