Commit 015b066f authored by Kristian Høgsberg's avatar Kristian Høgsberg Committed by Stefan Richter

firewire: Grab dev->sem when doing the update callback.

This serializes the update callback with the probe and remove callback from
the driver core and prevents remove from being called while update is
running for the same device.
Signed-off-by: default avatarKristian Høgsberg <krh@redhat.com>
Signed-off-by: default avatarStefan Richter <stefanr@s5r6.in-berlin.de>
parent 11f494ee
...@@ -562,8 +562,11 @@ static int update_unit(struct device *dev, void *data) ...@@ -562,8 +562,11 @@ static int update_unit(struct device *dev, void *data)
struct fw_unit *unit = fw_unit(dev); struct fw_unit *unit = fw_unit(dev);
struct fw_driver *driver = (struct fw_driver *)dev->driver; struct fw_driver *driver = (struct fw_driver *)dev->driver;
if (is_fw_unit(dev) && driver != NULL && driver->update != NULL) if (is_fw_unit(dev) && driver != NULL && driver->update != NULL) {
down(&dev->sem);
driver->update(unit); driver->update(unit);
up(&dev->sem);
}
return 0; return 0;
} }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment