ALSA: 6fire: Reduce multi-level conditionals in usb6fire_chip_disconnect()

The current code has deep indentation levels because of multiple if's.
Make it returning and reduce the multi-level conditionals for
increasing the code readability.

No functional change, just but a code refactoring.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
Link: https://patch.msgid.link/20260414132218.411013-4-tiwai@suse.de
This commit is contained in:
Takashi Iwai
2026-04-14 15:22:13 +02:00
parent 4d5de85b6a
commit 14101a0670

View File

@@ -165,26 +165,29 @@ static void usb6fire_chip_disconnect(struct usb_interface *intf)
guard(mutex)(&register_mutex);
chip = usb_get_intfdata(intf);
if (chip) { /* if !chip, fw upload has been performed */
chip->intf_count--;
if (!chip->intf_count) {
chips[chip->regidx] = NULL;
/* if !chip, fw upload has been performed */
if (!chip)
return;
/*
* Save card pointer before teardown.
* snd_card_free_when_closed() may free card (and
* the embedded chip) immediately, so it must be
* called last and chip must not be accessed after.
*/
card = chip->card;
chip->shutdown = true;
if (card)
snd_card_disconnect(card);
usb6fire_chip_abort(chip);
if (card)
snd_card_free_when_closed(card);
}
}
chip->intf_count--;
if (chip->intf_count)
return;
chips[chip->regidx] = NULL;
/*
* Save card pointer before teardown.
* snd_card_free_when_closed() may free card (and
* the embedded chip) immediately, so it must be
* called last and chip must not be accessed after.
*/
card = chip->card;
chip->shutdown = true;
if (card)
snd_card_disconnect(card);
usb6fire_chip_abort(chip);
if (card)
snd_card_free_when_closed(card);
}
static const struct usb_device_id device_table[] = {