On Fri, 12 Jul 2024 20:19:33 +0200, Mark Brown wrote:
On Fri, Jul 12, 2024 at 06:25:21PM +0200, Jaroslav Kysela wrote:
On 12. 07. 24 15:00, Mark Brown wrote:
The trouble with the ID field is that it's too short and seems likely to create collisions, for example HDA stuff just seems to default to NVidia for nVidia cards which seems very likely to create collisions if someone has two graphics cards in their system.
The default IDs are always unique - see snd_card_set_id_no_lock() in sound/core/init.c . Basically, the suffix will follow the device probe order in this case.
Sure, but the genesis of this patch is that probe order isn't sufficiently stable and we want to avoid names based on it... using the ID will be more likely to work out stable than just pure probe order but it's still got the same issue.
Are you trying to solve the issue with two cards of the same driver, which are swapped sometimes at the probe time? Or the mixture of different cards that are swapped?
In the latter case, id should work well. The id is primarily created from the (short)name string, and the suffix is added only when conflicting.
OTOH, if the former is the problem, using longname won't help, either, rather it can be confusing. I noticed that the test output truncates the name string, hence both cards look identical in the actual output (except for the card listing at the beginning).
Takashi