X-Git-Url: https://git.ao2.it/libam7xxx.git/blobdiff_plain/3e874361f193d7ce9dec3971fd1d4923fea1a9a5..151dac365e5b086e4aae52585130fe26fc6b4cc5:/src/am7xxx.c diff --git a/src/am7xxx.c b/src/am7xxx.c index 512cf6f..1e05601 100644 --- a/src/am7xxx.c +++ b/src/am7xxx.c @@ -414,7 +414,7 @@ static int send_data(am7xxx_device *dev, uint8_t *buffer, unsigned int len) return 0; } -static void send_data_async_complete_cb(struct libusb_transfer *transfer) +static void LIBUSB_CALL send_data_async_complete_cb(struct libusb_transfer *transfer) { am7xxx_device *dev = (am7xxx_device *)(transfer->user_data); int *completed = &(dev->transfer_completed); @@ -1179,14 +1179,14 @@ AM7XXX_PUBLIC int am7xxx_open_device(am7xxx_context *ctx, am7xxx_device **dev, * is the first one to be sent to the device in order for it to * successfully return the correct device information. * - * So, if there is not a cached version of it (from a previous open), - * we ask for device info at open time, + * NOTE: am7xxx_get_device_info() will fetch the actual device info + * from the device only the very first time it's called for a given + * device, otherwise, it'll return a cached version of the device info + * (from a previous call to am7xxx_open_device(), for instance). */ - if ((*dev)->device_info == NULL) { - ret = am7xxx_get_device_info(*dev, NULL); - if (ret < 0) - error(ctx, "cannot get device info\n"); - } + ret = am7xxx_get_device_info(*dev, NULL); + if (ret < 0) + error(ctx, "cannot get device info\n"); out: return ret;