summaryrefslogtreecommitdiffstats
path: root/drivers/firewire
diff options
context:
space:
mode:
authorStefan Richter <stefanr@s5r6.in-berlin.de>2010-07-07 15:36:07 +0200
committerStefan Richter <stefanr@s5r6.in-berlin.de>2010-07-13 09:47:47 +0200
commit8b4f70ba4967cae90d128857af1382026a24230a (patch)
treea327de21c9c5758bef562df9cb21ac90980b1c70 /drivers/firewire
parenteb5b35a560510efc6bb62f05c3c82e9596cdfafe (diff)
downloadlinux-stable-8b4f70ba4967cae90d128857af1382026a24230a.tar.gz
linux-stable-8b4f70ba4967cae90d128857af1382026a24230a.tar.bz2
linux-stable-8b4f70ba4967cae90d128857af1382026a24230a.zip
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 <fenlason@redhat.com> Signed-off-by: Stefan Richter <stefanr@s5r6.in-berlin.de>
Diffstat (limited to 'drivers/firewire')
-rw-r--r--drivers/firewire/core-device.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/drivers/firewire/core-device.c b/drivers/firewire/core-device.c
index 781fd7374ae9..e9c18f582c82 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. */