Из Документации / driver-model / binding.txt:
При добавлении нового устройства список драйверов шины перебирается
найти тот, который поддерживает это. Чтобы определить это, устройство
Идентификатор устройства должен совпадать с одним из идентификаторов устройства, которые драйвер
поддерживает. Формат и семантика для сравнения идентификаторов зависят от шины.
Из того же источника:
Процесс практически идентичен при добавлении нового драйвера.
Список устройств шины перебирается, чтобы найти соответствие. приборы
которые уже есть драйвер пропускаются. Все устройства повторяются
более того, чтобы связать как можно больше устройств с драйвером.
Похоже, у вас возникла проблема с сопоставлением идентификаторов, которая в вашем случае связана с шиной USB, см. Функцию usb_device_match в drivers / usb / core / driver.c.
Или, возможно, ваше устройство уже связано с устройством, которое выгружается, когда устройство отключено (вы можете проверить это, контролируя наличие символической ссылки на драйвер в соответствующем / sys / bus / usb / xxxxx каталог)