diff options
author | Takashi Iwai <tiwai@suse.de> | 2022-05-23 07:48:16 +0200 |
---|---|---|
committer | Takashi Iwai <tiwai@suse.de> | 2022-05-23 07:48:27 +0200 |
commit | 1212fa1b482ea09c19aed29001465799e85ea6c3 (patch) | |
tree | ca70b299e420fbbfab8cb9780584f66b0652f8a8 /drivers/firewire/core-card.c | |
parent | ALSA: usb-audio: Fix wrong kfree issue in snd_usb_endpoint_free_all (diff) | |
parent | ALSA: usb-audio: Add missing ep_idx in fixed EP quirks (diff) | |
download | linux-1212fa1b482ea09c19aed29001465799e85ea6c3.tar.xz linux-1212fa1b482ea09c19aed29001465799e85ea6c3.zip |
Merge branch 'for-linus' into for-next
Merge for 5.18-rc1
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Diffstat (limited to 'drivers/firewire/core-card.c')
-rw-r--r-- | drivers/firewire/core-card.c | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/drivers/firewire/core-card.c b/drivers/firewire/core-card.c index cd09de61bc4f..6ac5ff20a2fe 100644 --- a/drivers/firewire/core-card.c +++ b/drivers/firewire/core-card.c @@ -679,6 +679,7 @@ EXPORT_SYMBOL_GPL(fw_card_release); void fw_core_remove_card(struct fw_card *card) { struct fw_card_driver dummy_driver = dummy_driver_template; + unsigned long flags; card->driver->update_phy_reg(card, 4, PHY_LINK_ACTIVE | PHY_CONTENDER, 0); @@ -693,7 +694,9 @@ void fw_core_remove_card(struct fw_card *card) dummy_driver.stop_iso = card->driver->stop_iso; card->driver = &dummy_driver; + spin_lock_irqsave(&card->lock, flags); fw_destroy_nodes(card); + spin_unlock_irqrestore(&card->lock, flags); /* Wait for all users, especially device workqueue jobs, to finish. */ fw_card_put(card); |