fix handling of XILINX_USB_DEV environment variable
This commit is contained in:
parent
9bfaca620d
commit
8949e420b6
34
xpcu.c
34
xpcu.c
@ -300,15 +300,13 @@ static void xpcu_init(void) {
|
|||||||
usb_find_devices();
|
usb_find_devices();
|
||||||
|
|
||||||
busses = usb_get_busses();
|
busses = usb_get_busses();
|
||||||
|
|
||||||
pthread_mutex_init(&dummy_interrupt, NULL);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
int xpcu_find(struct event *e) {
|
int xpcu_find(struct event *e) {
|
||||||
struct xpcu_event_s *xpcu_event = NULL;
|
struct xpcu_event_s *xpcu_event = NULL;
|
||||||
struct xpcu_s *xpcu = NULL;
|
struct xpcu_s *xpcu = NULL;
|
||||||
char* devpos;
|
char* usbdev;
|
||||||
struct usb_bus *bus;
|
struct usb_bus *bus;
|
||||||
int busnum = -1, devnum = -1;
|
int busnum = -1, devnum = -1;
|
||||||
int i;
|
int i;
|
||||||
@ -317,20 +315,15 @@ int xpcu_find(struct event *e) {
|
|||||||
|
|
||||||
xpcu_init();
|
xpcu_init();
|
||||||
|
|
||||||
xpcu_event = malloc(sizeof(struct xpcu_event_s));
|
usbdev = getenv("XILINX_USB_DEV");
|
||||||
if (!xpcu_event)
|
if (usbdev != NULL) {
|
||||||
return -ENOMEM;
|
|
||||||
|
|
||||||
bzero(xpcu_event, sizeof(struct xpcu_event_s));
|
|
||||||
xpcu_event->xpcu = NULL;
|
|
||||||
xpcu_event->count = 0;
|
|
||||||
xpcu_event->interrupt_count = 0;
|
|
||||||
pthread_mutex_init(&xpcu_event->interrupt, NULL);
|
|
||||||
|
|
||||||
devpos = getenv("XILINX_USB_DEV");
|
|
||||||
if (devpos != NULL) {
|
|
||||||
int j;
|
int j;
|
||||||
char *devstr = NULL, *remainder;
|
char *devstr = NULL, *remainder;
|
||||||
|
char *devpos;
|
||||||
|
|
||||||
|
devpos = strdup(usbdev);
|
||||||
|
if (!devpos)
|
||||||
|
return -ENOMEM;
|
||||||
|
|
||||||
DPRINTF("XILINX_USB_DEV=%s\n", devpos);
|
DPRINTF("XILINX_USB_DEV=%s\n", devpos);
|
||||||
|
|
||||||
@ -356,8 +349,19 @@ int xpcu_find(struct event *e) {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
free(devpos);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
xpcu_event = malloc(sizeof(struct xpcu_event_s));
|
||||||
|
if (!xpcu_event)
|
||||||
|
return -ENOMEM;
|
||||||
|
|
||||||
|
bzero(xpcu_event, sizeof(struct xpcu_event_s));
|
||||||
|
xpcu_event->xpcu = NULL;
|
||||||
|
xpcu_event->count = 0;
|
||||||
|
xpcu_event->interrupt_count = 0;
|
||||||
|
pthread_mutex_init(&xpcu_event->interrupt, NULL);
|
||||||
|
|
||||||
for (i = 0; i < e->dwNumMatchTables; i++) {
|
for (i = 0; i < e->dwNumMatchTables; i++) {
|
||||||
|
|
||||||
DPRINTF("match: dev: %04x:%04x, class: %x, subclass: %x, intclass: %x, intsubclass: %x, intproto: %x\n",
|
DPRINTF("match: dev: %04x:%04x, class: %x, subclass: %x, intclass: %x, intsubclass: %x, intproto: %x\n",
|
||||||
|
Reference in New Issue
Block a user