- xpcu.interface = -1;
- xpcu.alternate = -1;
- xpcu.dev = dev;
- xpcu.card_type = e->dwCardType;
- pthread_mutex_init(&xpcu.interrupt, NULL);
+ xpcu = malloc(sizeof(struct xpcu_s));
+ if (!xpcu)
+ return -ENOMEM;
+
+ bzero(xpcu, sizeof(struct xpcu_s));
+ xpcu->interface = -1;
+ xpcu->alternate = -1;
+ xpcu->dev = dev;
+ xpcu->card_type = e->dwCardType;
+ pthread_mutex_init(&xpcu->interrupt, NULL);