Commit 288307a637b18e6f28d4408cb3172a68171f73ed

Authored by Tim Gover
Committed by GitHub
2 parents 49b873c1 111a0dc6

Merge pull request #169 from nbuchwitz/devel/initialize-after-match

Skip devices which don't match filter criteria
Showing 1 changed file with 18 additions and 15 deletions
@@ -132,7 +132,23 @@ libusb_device_handle * LIBUSB_CALL open_device_with_vid( @@ -132,7 +132,23 @@ libusb_device_handle * LIBUSB_CALL open_device_with_vid(
132 const char *second_stage; 132 const char *second_stage;
133 133
134 if(verbose == 2) 134 if(verbose == 2)
135 - printf("Found candidate Compute Module..."); 135 + printf("Found candidate Compute Module...\n");
  136 +
  137 + // Check if we should match against a specific port number or path
  138 + if ((targetPortNo == 99 || portNo == targetPortNo) &&
  139 + (targetpathname == NULL || strcmp(targetpathname, pathname) == 0))
  140 + {
  141 + if(verbose)
  142 + printf("Device located successfully\n");
  143 + found = dev;
  144 + }
  145 + else
  146 + {
  147 + if(verbose == 2)
  148 + printf("Device port / path does not match, trying again\n");
  149 +
  150 + continue;
  151 + }
136 152
137 bcm2711 = (desc.idProduct == 0x2711); 153 bcm2711 = (desc.idProduct == 0x2711);
138 if (bcm2711) 154 if (bcm2711)
@@ -169,21 +185,8 @@ libusb_device_handle * LIBUSB_CALL open_device_with_vid( @@ -169,21 +185,8 @@ libusb_device_handle * LIBUSB_CALL open_device_with_vid(
169 if (fp_sign) 185 if (fp_sign)
170 fclose(fp_sign); 186 fclose(fp_sign);
171 187
172 - ///////////////////////////////////////////////////////////////////////  
173 - // Check if we should match against a specific port number  
174 - ///////////////////////////////////////////////////////////////////////  
175 - if ((targetPortNo == 99 || portNo == targetPortNo) &&  
176 - (targetpathname==NULL||strcmp(targetpathname,pathname)==0))  
177 - {  
178 - if(verbose) printf("Device located successfully\n");  
179 - found = dev; 188 + if (found)
180 break; 189 break;
181 - }  
182 - else  
183 - {  
184 - if(verbose == 2)  
185 - printf("...Wrong Port/Path, Trying again\n");  
186 - }  
187 } 190 }
188 } 191 }
189 } 192 }