diff options
| author | Takashi Iwai <tiwai@suse.de> | 2009-11-01 11:11:07 +0100 |
|---|---|---|
| committer | Takashi Iwai <tiwai@suse.de> | 2009-11-01 11:11:07 +0100 |
| commit | e87a3dd33eab30b4db539500064a9584867e4f2c (patch) | |
| tree | 2f7ad16e46ae30518ff63bb5391b63f7f7cc74dd /drivers/firewire/core-card.c | |
| parent | b14f5de731ae657d498d18d713c6431bfbeefb4b (diff) | |
| parent | 3d00941371a765779c4e3509214c7e5793cce1fe (diff) | |
Merge branch 'fix/misc' into topic/misc
Diffstat (limited to 'drivers/firewire/core-card.c')
| -rw-r--r-- | drivers/firewire/core-card.c | 13 |
1 files changed, 5 insertions, 8 deletions
diff --git a/drivers/firewire/core-card.c b/drivers/firewire/core-card.c index f74edae5cb4..e4864e894e4 100644 --- a/drivers/firewire/core-card.c +++ b/drivers/firewire/core-card.c @@ -444,16 +444,13 @@ int fw_card_add(struct fw_card *card, card->guid = guid; mutex_lock(&card_mutex); - config_rom = generate_config_rom(card, &length); - list_add_tail(&card->link, &card_list); - mutex_unlock(&card_mutex); + config_rom = generate_config_rom(card, &length); ret = card->driver->enable(card, config_rom, length); - if (ret < 0) { - mutex_lock(&card_mutex); - list_del(&card->link); - mutex_unlock(&card_mutex); - } + if (ret == 0) + list_add_tail(&card->link, &card_list); + + mutex_unlock(&card_mutex); return ret; } |
