diff options
Diffstat (limited to 'src/jtag')
-rw-r--r-- | src/jtag/drivers/stlink_usb.c | 3 | ||||
-rw-r--r-- | src/jtag/hla/hla_interface.c | 2 | ||||
-rw-r--r-- | src/jtag/hla/hla_interface.h | 2 | ||||
-rw-r--r-- | src/jtag/hla/hla_layout.c | 6 |
4 files changed, 12 insertions, 1 deletions
diff --git a/src/jtag/drivers/stlink_usb.c b/src/jtag/drivers/stlink_usb.c index 2a78f795..bb4df239 100644 --- a/src/jtag/drivers/stlink_usb.c +++ b/src/jtag/drivers/stlink_usb.c @@ -1160,6 +1160,9 @@ static int stlink_usb_open(struct hl_interface_param_s *param, void **fd) h->transport = param->transport; + /* set max read/write buffer size in bytes */ + param->max_buffer = 512; + const uint16_t vids[] = { param->vid, 0 }; const uint16_t pids[] = { param->pid, 0 }; diff --git a/src/jtag/hla/hla_interface.c b/src/jtag/hla/hla_interface.c index eb9b43dc..5f493ffe 100644 --- a/src/jtag/hla/hla_interface.c +++ b/src/jtag/hla/hla_interface.c @@ -37,7 +37,7 @@ #include <target/target.h> -static struct hl_interface_s hl_if = { {0, 0, 0, 0, 0, 0}, 0, 0 }; +static struct hl_interface_s hl_if = { {0, 0, 0, 0, 0, 0, 0}, 0, 0 }; int hl_interface_open(enum hl_transports tr) { diff --git a/src/jtag/hla/hla_interface.h b/src/jtag/hla/hla_interface.h index cbeee5a1..5b63ab85 100644 --- a/src/jtag/hla/hla_interface.h +++ b/src/jtag/hla/hla_interface.h @@ -44,6 +44,8 @@ struct hl_interface_param_s { unsigned api; /** */ enum hl_transports transport; + /** */ + int max_buffer; }; struct hl_interface_s { diff --git a/src/jtag/hla/hla_layout.c b/src/jtag/hla/hla_layout.c index 04b50d7f..55657294 100644 --- a/src/jtag/hla/hla_layout.c +++ b/src/jtag/hla/hla_layout.c @@ -50,6 +50,12 @@ static int hl_layout_open(struct hl_interface_s *adapter) return res; } + /* make sure adapter has set the buffer size */ + if (!adapter->param.max_buffer) { + LOG_ERROR("buffer size not set"); + return ERROR_FAIL; + } + return ERROR_OK; } |