Hi Roman, > + down(&usbatm_driver_list_sem); > + list_for_each_entry(driver, &usbatm_driver_list, driver_list) > + if (usb_match_id(intf, driver->id_table)) > + break; > + up(&usbatm_driver_list_sem); > + > if (!driver) { if there's no matching entry, driver is not NULL, it is (more or less) the list head... I'll take care of it. Ciao, Duncan.