|
|
@@ -10322,9 +10322,19 @@ void *probe_device_thread(void *p)
|
|
|
if (!colon)
|
|
|
continue;
|
|
|
const char * const ser = &colon[1];
|
|
|
- if (!(info->serial && !strcasecmp(ser, info->serial))
|
|
|
- || (info->path && !strcasecmp(ser, info->path)))
|
|
|
- continue;
|
|
|
+ if (!(true
|
|
|
+ || (info->serial && !strcasecmp(ser, info->serial))
|
|
|
+ || (info->path && !strcasecmp(ser, info->path ))
|
|
|
+ ))
|
|
|
+ {
|
|
|
+ char *devid = devpath_to_devid(ser);
|
|
|
+ if (!devid)
|
|
|
+ continue;
|
|
|
+ const bool different = strcmp(info->devid, devid);
|
|
|
+ free(devid);
|
|
|
+ if (different)
|
|
|
+ continue;
|
|
|
+ }
|
|
|
const size_t dnamelen = (colon - dname);
|
|
|
if (_probe_device_internal(info, dname, dnamelen))
|
|
|
return NULL;
|