7 May
2024
7 May
'24
11:23 p.m.
@@ -113,6 +120,12 @@ static int q6usb_alsa_connection_cb(struct snd_soc_usb *usb, if (connected) { /* We only track the latest USB headset plugged in */ data->active_usb_chip_idx = sdev->card_idx;
set_bit(sdev->card_idx, &data->available_card_slot);
data->status[sdev->card_idx].sdev = sdev;
Not following the 'only track the latest USB headset plugged in', I don't see anything that discard the previously latest headset...
If you plug headset1, then headset2, how is headset1 marked as not available for USB offload?
} else {
clear_bit(sdev->card_idx, &data->available_card_slot);
data->status[sdev->card_idx].sdev = NULL;
}
return 0;