From c07fb8579c580bb86b93709c0695e15a054ccd15 Mon Sep 17 00:00:00 2001 From: Dominic Spill Date: Sat, 4 Feb 2017 00:03:46 -0700 Subject: [PATCH 1/5] hackrf_transfer initialisation was using unusual syntax --- host/libhackrf/src/hackrf.c | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/host/libhackrf/src/hackrf.c b/host/libhackrf/src/hackrf.c index c858f66d..26cbcd46 100644 --- a/host/libhackrf/src/hackrf.c +++ b/host/libhackrf/src/hackrf.c @@ -1422,12 +1422,12 @@ static void hackrf_libusb_transfer_callback(struct libusb_transfer* usb_transfer if(usb_transfer->status == LIBUSB_TRANSFER_COMPLETED) { hackrf_transfer transfer = { - transfer.device = device, - transfer.buffer = usb_transfer->buffer, - transfer.buffer_length = usb_transfer->length, - transfer.valid_length = usb_transfer->actual_length, - transfer.rx_ctx = device->rx_ctx, - transfer.tx_ctx = device->tx_ctx + .device = device, + .buffer = usb_transfer->buffer, + .buffer_length = usb_transfer->length, + .valid_length = usb_transfer->actual_length, + .rx_ctx = device->rx_ctx, + .tx_ctx = device->tx_ctx }; if( device->callback(&transfer) == 0 ) From 35df00bd84b9683524c941251846876530ab32f0 Mon Sep 17 00:00:00 2001 From: Dominic Spill Date: Sat, 4 Feb 2017 00:06:23 -0700 Subject: [PATCH 2/5] Remove repeated check for fd==NULL --- host/hackrf-tools/src/hackrf_spiflash.c | 5 ----- 1 file changed, 5 deletions(-) diff --git a/host/hackrf-tools/src/hackrf_spiflash.c b/host/hackrf-tools/src/hackrf_spiflash.c index fabdb382..aa30dfcd 100644 --- a/host/hackrf-tools/src/hackrf_spiflash.c +++ b/host/hackrf-tools/src/hackrf_spiflash.c @@ -226,11 +226,6 @@ int main(int argc, char** argv) } } - if((read || write) && (fd == NULL)) { - fprintf(stderr, "Failed to open file: %s\n", path); - return EXIT_FAILURE; - } - result = hackrf_init(); if (result != HACKRF_SUCCESS) { fprintf(stderr, "hackrf_init() failed: %s (%d)\n", From bcbb7cc2e30118932d77a8d19d67fae0a1333e8a Mon Sep 17 00:00:00 2001 From: Dominic Spill Date: Sat, 4 Feb 2017 00:07:30 -0700 Subject: [PATCH 3/5] Remove unused test for result in opt parsing --- host/hackrf-tools/src/hackrf_operacake.c | 5 ----- 1 file changed, 5 deletions(-) diff --git a/host/hackrf-tools/src/hackrf_operacake.c b/host/hackrf-tools/src/hackrf_operacake.c index 0b8405b6..3a77c8ab 100644 --- a/host/hackrf-tools/src/hackrf_operacake.c +++ b/host/hackrf-tools/src/hackrf_operacake.c @@ -112,11 +112,6 @@ int main(int argc, char** argv) { usage(); return EXIT_FAILURE; } - - if( result != HACKRF_SUCCESS ) { - printf("argument error: %s (%d)\n", hackrf_error_name(result), result); - break; - } } if(!(list || set_ports)) { From 8902a502452dfd0def7521be72bbd7f71a290a96 Mon Sep 17 00:00:00 2001 From: Dominic Spill Date: Sat, 4 Feb 2017 00:08:48 -0700 Subject: [PATCH 4/5] Remove unused error checking code --- host/hackrf-tools/src/hackrf_cpldjtag.c | 7 ------- 1 file changed, 7 deletions(-) diff --git a/host/hackrf-tools/src/hackrf_cpldjtag.c b/host/hackrf-tools/src/hackrf_cpldjtag.c index fc82deb4..bdd7c051 100644 --- a/host/hackrf-tools/src/hackrf_cpldjtag.c +++ b/host/hackrf-tools/src/hackrf_cpldjtag.c @@ -120,13 +120,6 @@ int main(int argc, char** argv) usage(); return EXIT_FAILURE; } - - if (result != HACKRF_SUCCESS) { - fprintf(stderr, "argument error: %s (%d)\n", - hackrf_error_name(result), result); - usage(); - return EXIT_FAILURE; - } } if (path == NULL) { From e66c8eec0130e1e11a5019a3343cf6a983547d9d Mon Sep 17 00:00:00 2001 From: Dominic Spill Date: Sun, 5 Feb 2017 22:35:51 -0700 Subject: [PATCH 5/5] Check function return values when reading registers --- host/hackrf-tools/src/hackrf_max2837.c | 21 ++++++++++++++++++--- host/hackrf-tools/src/hackrf_rffc5071.c | 15 +++++++++++++++ host/hackrf-tools/src/hackrf_si5351c.c | 17 +++++++++++++++-- 3 files changed, 48 insertions(+), 5 deletions(-) diff --git a/host/hackrf-tools/src/hackrf_max2837.c b/host/hackrf-tools/src/hackrf_max2837.c index f52ca9e1..f64761b3 100644 --- a/host/hackrf-tools/src/hackrf_max2837.c +++ b/host/hackrf-tools/src/hackrf_max2837.c @@ -199,13 +199,28 @@ int main(int argc, char** argv) { if(write) { result = write_register(device, register_number, register_value); - } + if(result) { + printf("dump_registers() failed: %s (%d)\n", + hackrf_error_name(result), result); + return EXIT_FAILURE; + } + } if(read) { if(register_number == REGISTER_INVALID) { result = dump_registers(device); - } else { - result = dump_register(device, register_number); + if(result) { + printf("dump_registers() failed: %s (%d)\n", + hackrf_error_name(result), result); + return EXIT_FAILURE; + } + } + } else { + result = dump_register(device, register_number); + if(result) { + printf("dump_registers() failed: %s (%d)\n", + hackrf_error_name(result), result); + return EXIT_FAILURE; } } diff --git a/host/hackrf-tools/src/hackrf_rffc5071.c b/host/hackrf-tools/src/hackrf_rffc5071.c index 867bc379..f9d478e3 100644 --- a/host/hackrf-tools/src/hackrf_rffc5071.c +++ b/host/hackrf-tools/src/hackrf_rffc5071.c @@ -196,13 +196,28 @@ int main(int argc, char** argv) { if(write) { result = write_register(device, register_number, register_value); + if(result) { + printf("dump_registers() failed: %s (%d)\n", + hackrf_error_name(result), result); + return EXIT_FAILURE; + } } if(read) { if(register_number == REGISTER_INVALID) { result = dump_registers(device); + if(result) { + printf("dump_registers() failed: %s (%d)\n", + hackrf_error_name(result), result); + return EXIT_FAILURE; + } } else { result = dump_register(device, register_number); + if(result) { + printf("dump_registers() failed: %s (%d)\n", + hackrf_error_name(result), result); + return EXIT_FAILURE; + } } } diff --git a/host/hackrf-tools/src/hackrf_si5351c.c b/host/hackrf-tools/src/hackrf_si5351c.c index 7c8712c4..7b01f947 100644 --- a/host/hackrf-tools/src/hackrf_si5351c.c +++ b/host/hackrf-tools/src/hackrf_si5351c.c @@ -292,16 +292,29 @@ int main(int argc, char** argv) { } if(write) { - if( result == HACKRF_SUCCESS ) { - result = write_register(device, register_number, register_value); + result = write_register(device, register_number, register_value); + if(result) { + printf("dump_registers() failed: %s (%d)\n", + hackrf_error_name(result), result); + return EXIT_FAILURE; } } if(read) { if( register_number == REGISTER_INVALID ) { result = dump_registers(device); + if(result) { + printf("dump_registers() failed: %s (%d)\n", + hackrf_error_name(result), result); + return EXIT_FAILURE; + } } else { result = dump_register(device, register_number); + if(result) { + printf("dump_registers() failed: %s (%d)\n", + hackrf_error_name(result), result); + return EXIT_FAILURE; + } } }