remsim-client-st2: Proper error if not all endpoints can be found

Let's avoid a segfault and rather print a proper error message in case
we cannot find all the required USB endpoints when opening the
user-specified interface/config/device.

This can happen if the device is currently in DFU mode, or a completely
wrong device/interface was specified.

Before this patch:
Assert failed rc == 0 user_simtrace2.c:305

After this patch:
DMAIN ERROR user_simtrace2.c:448 specified USB dev/config/interface doesn't have at least one IN, OUT and IRQ_IN endpoint

Closes: OS#5416
Change-Id: Icfcc482fff106a232c5125ed8ab463ecc13824ae
diff --git a/src/client/user_simtrace2.c b/src/client/user_simtrace2.c
index f71c720..29ab196 100644
--- a/src/client/user_simtrace2.c
+++ b/src/client/user_simtrace2.c
@@ -444,6 +444,12 @@
 		goto close_exit;
 	}
 
+	if (!transp->usb_ep.in || !transp->usb_ep.out || !transp->usb_ep.irq_in) {
+		LOGP(DMAIN, LOGL_ERROR, "specified USB dev/config/interface doesn't have "
+		     "at least one IN, OUT and IRQ_IN endpoint\n");
+		goto close_exit;
+	}
+
 	allocate_and_submit_irq(ci);
 	/* submit multiple IN URB in order to work around OS#4409 */
 	for (i = 0; i < 4; i++)