summaryrefslogtreecommitdiff
path: root/drivers/firewire/core-transaction.c
diff options
context:
space:
mode:
authorStefan Richter <stefanr@s5r6.in-berlin.de>2009-09-06 20:50:29 +0400
committerStefan Richter <stefanr@s5r6.in-berlin.de>2009-09-12 16:48:40 +0400
commitb171e204b32b69e241af994d6e9be559e33535c1 (patch)
tree0ba90b20dfed4e721a573e2dfe9e4584e8a80737 /drivers/firewire/core-transaction.c
parent18668ff9a3232d5f942a2f7abc1ad67d2760dcdf (diff)
downloadlinux-b171e204b32b69e241af994d6e9be559e33535c1.tar.xz
firewire: core: fix race with parallel PCI device probe
The config ROM buffer received from generate_config_rom is a globally shared static buffer. Extend the card_mutex protection in fw_add_card until after the config ROM was copied into the card driver's buffer. Otherwise, parallelized card driver probes may end up with ROM contents that were meant for a different card. firewire-ohci's card->driver->enable hook is safe to be called within the card_mutex. Furthermore, it is safe to reorder card_list update versus card enable, which simplifies the code a little. Signed-off-by: Stefan Richter <stefanr@s5r6.in-berlin.de>
Diffstat (limited to 'drivers/firewire/core-transaction.c')
0 files changed, 0 insertions, 0 deletions