From: Stefan Richter Date: Wed, 7 Jul 2010 13:36:07 +0000 (+0200) Subject: firewire: cdev: fix fw_cdev_event_bus_reset emission after local config ROM changes X-Git-Tag: v2.6.36-rc1~490^2^3~16 X-Git-Url: https://bbs.cooldavid.org/git/?a=commitdiff_plain;h=8b4f70ba4967cae90d128857af1382026a24230a;p=net-next-2.6.git firewire: cdev: fix fw_cdev_event_bus_reset emission after local config ROM changes 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 Signed-off-by: Stefan Richter --- diff --git a/drivers/firewire/core-device.c b/drivers/firewire/core-device.c index 781fd7374ae..e9c18f582c8 100644 --- a/drivers/firewire/core-device.c +++ b/drivers/firewire/core-device.c @@ -1136,6 +1136,7 @@ static void fw_device_refresh(struct work_struct *work) goto give_up; } + fw_device_cdev_update(device); create_units(device); /* Userspace may want to re-read attributes. */