Prev: [PATCH 5/6] padata: simplify serialization mechanism
Next: x86, paravirt: Add a global synchronization point for pvclock
From: Stefan Richter on 7 Jul 2010 09:40 When a descriptor was added or removed to the local node's config ROM, userspace clients which had a local node's /dev/fw* open did not receive any fw_cdev_event_bus_reset for poll()/read() consumption. The cause was that the core-device.c facility which re-reads the config ROM of the bus reset initiator node missed to call the fw_device update function. The fw_units are destroyed and newly added, but their parent stays and needs to be updated. Reported-by: Jay Fenlason <fenlason(a)redhat.com> Signed-off-by: Stefan Richter <stefanr(a)s5r6.in-berlin.de> --- drivers/firewire/core-device.c | 1 + 1 file changed, 1 insertion(+) Index: b/drivers/firewire/core-device.c =================================================================== --- a/drivers/firewire/core-device.c +++ b/drivers/firewire/core-device.c @@ -1136,6 +1136,7 @@ static void fw_device_refresh(struct wor goto give_up; } + fw_device_cdev_update(device); create_units(device); /* Userspace may want to re-read attributes. */ -- Stefan Richter -=====-==-=- -=== --=== http://arcgraph.de/sr/ -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo(a)vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/ |