X-Git-Url: https://git.ao2.it/libam7xxx.git/blobdiff_plain/12521481f11d23c8afbb6f21659ca901a9663959..3e874361f193d7ce9dec3971fd1d4923fea1a9a5:/src/am7xxx.c diff --git a/src/am7xxx.c b/src/am7xxx.c index 2d7b890..512cf6f 100644 --- a/src/am7xxx.c +++ b/src/am7xxx.c @@ -1213,10 +1213,9 @@ AM7XXX_PUBLIC int am7xxx_get_device_info(am7xxx_device *dev, int ret; struct am7xxx_header h; - if (dev->device_info) { - memcpy(device_info, dev->device_info, sizeof(*device_info)); - return 0; - } + /* if there is a cached copy of the device info, just return that */ + if (dev->device_info) + goto return_value; ret = send_command(dev, AM7XXX_PACKET_TYPE_DEVINFO); if (ret < 0) @@ -1250,6 +1249,9 @@ AM7XXX_PUBLIC int am7xxx_get_device_info(am7xxx_device *dev, dev->device_info->unknown1 = h.header_data.devinfo.unknown1; #endif +return_value: + if (device_info) + memcpy(device_info, dev->device_info, sizeof(*device_info)); return 0; }