mirror of
https://github.com/torvalds/linux.git
synced 2024-11-24 05:02:12 +00:00
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: Kristian Høgsberg <krh@redhat.com> Signed-off-by: Stefan Richter <stefanr@s5r6.in-berlin.de>
This commit is contained in:
parent
11f494ee25
commit
015b066f4e
@ -562,8 +562,11 @@ static int update_unit(struct device *dev, void *data)
|
||||
struct fw_unit *unit = fw_unit(dev);
|
||||
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);
|
||||
up(&dev->sem);
|
||||
}
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user