fix segfautl when using mehfet with no vid/pid specified
This commit is contained in:
parent
d6e6c91ea7
commit
bafd1465c9
|
@ -553,11 +553,11 @@ static void mehfet_destroy(device_t dev_base) {
|
||||||
printc_dbg("mehfet: releasing device & disconnecting\n");
|
printc_dbg("mehfet: releasing device & disconnecting\n");
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
jtag_release_device(&dev->jtag, 0xfffe); // 0xfffe=reset address : POR
|
|
||||||
|
|
||||||
mehfet_cmd_disconnect(dev->trans);
|
|
||||||
|
|
||||||
if (dev->trans) {
|
if (dev->trans) {
|
||||||
|
jtag_release_device(&dev->jtag, 0xfffe); // 0xfffe=reset address : POR
|
||||||
|
|
||||||
|
mehfet_cmd_disconnect(dev->trans);
|
||||||
|
|
||||||
dev->trans->ops->destroy(dev->trans);
|
dev->trans->ops->destroy(dev->trans);
|
||||||
dev->trans = NULL;
|
dev->trans = NULL;
|
||||||
}
|
}
|
||||||
|
|
|
@ -241,6 +241,8 @@ transport_t mehfet_transport_open(const char *devpath,
|
||||||
dev = usbutil_find_by_id(*vendor, *product, requested_serial);
|
dev = usbutil_find_by_id(*vendor, *product, requested_serial);
|
||||||
|
|
||||||
if (!dev) {
|
if (!dev) {
|
||||||
|
printc_err("mehfet: no USB device found.%s\n",
|
||||||
|
vendor ? "" : " (Did you forget to specify a VID:PID?)");
|
||||||
free(tr);
|
free(tr);
|
||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
|
@ -248,7 +250,7 @@ transport_t mehfet_transport_open(const char *devpath,
|
||||||
tr->buf_size = 64; // initial conservative value, will get updated later
|
tr->buf_size = 64; // initial conservative value, will get updated later
|
||||||
|
|
||||||
if (open_device(tr, dev) < 0) {
|
if (open_device(tr, dev) < 0) {
|
||||||
printc_err("ftdi: failed to open device\n");
|
printc_err("mehfet: failed to open device\n");
|
||||||
free(tr);
|
free(tr);
|
||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue