I have a USB WiFi dongle that's detected as "13b1:0bdc" when using lsusb, and the WiFi does not work. That is, until the device is physically disconnected and plugged back in. After doing this, issuing lsusb again shows the device as "13b1:0039", which makes it work as intended.

I found out that when it's seen as "0bdc", it cannot use WiFi because it does not load the "brcmfmac" kernel module. There is a workaround to make it work by telling this module to also be used with that "wrong" ID:
https://superuser.com/questions/371631/linux-driver-for-linksys-ae1200-usb-wifi-dongle
This makes it work until the computer is suspended or rebooted.

How can I fix this upstream? I just requested the addition of this "0bdc" to the USB ID repository:
https://usb-ids.gowdy.us/read/UD/13b1/0bdc
Should that be enough to fix it?

If not, where are the IDs assigned a kernel module? If "brcmfmac" was told to work with "0bdc" upstream, it should be permanently fixed.