summaryrefslogtreecommitdiff
path: root/src/jtag
diff options
context:
space:
mode:
authoroharboe <oharboe@b42882b7-edfa-0310-969c-e2dbd0fdcd60>2008-10-15 11:44:36 +0000
committeroharboe <oharboe@b42882b7-edfa-0310-969c-e2dbd0fdcd60>2008-10-15 11:44:36 +0000
commitccc2e3fe760a425f831b9e1f0e143d7d01d73a25 (patch)
treeccb4bbe1c3221f1438d12a04cdc203617d18d5ee /src/jtag
parentaf41e6aac8d2aadf2bcfc84a77ac0f9ded8e7830 (diff)
downloadopenocd+libswd-ccc2e3fe760a425f831b9e1f0e143d7d01d73a25.tar.gz
openocd+libswd-ccc2e3fe760a425f831b9e1f0e143d7d01d73a25.tar.bz2
openocd+libswd-ccc2e3fe760a425f831b9e1f0e143d7d01d73a25.tar.xz
openocd+libswd-ccc2e3fe760a425f831b9e1f0e143d7d01d73a25.zip
Laurentiu Cocanu - memory read/write and exit() error path fixes
git-svn-id: svn://svn.berlios.de/openocd/trunk@1064 b42882b7-edfa-0310-969c-e2dbd0fdcd60
Diffstat (limited to 'src/jtag')
-rw-r--r--src/jtag/ft2232.c4
-rw-r--r--src/jtag/jtag.c7
2 files changed, 7 insertions, 4 deletions
diff --git a/src/jtag/ft2232.c b/src/jtag/ft2232.c
index 6fdb546e..6754d9aa 100644
--- a/src/jtag/ft2232.c
+++ b/src/jtag/ft2232.c
@@ -410,7 +410,7 @@ int ft2232_send_and_recv(jtag_command_t *first, jtag_command_t *last)
if ((retval = ft2232_write(ft2232_buffer, ft2232_buffer_size, &bytes_written)) != ERROR_OK)
{
LOG_ERROR("couldn't write MPSSE commands to FT2232");
- exit(-1);
+ return retval;
}
#ifdef _DEBUG_USB_IO_
@@ -429,7 +429,7 @@ int ft2232_send_and_recv(jtag_command_t *first, jtag_command_t *last)
if ((retval = ft2232_read(ft2232_buffer, ft2232_expect_read, &bytes_read)) != ERROR_OK)
{
LOG_ERROR("couldn't read from FT2232");
- exit(-1);
+ return retval;
}
#ifdef _DEBUG_USB_IO_
diff --git a/src/jtag/jtag.c b/src/jtag/jtag.c
index 90d52d0f..0af99f93 100644
--- a/src/jtag/jtag.c
+++ b/src/jtag/jtag.c
@@ -1720,6 +1720,7 @@ static int default_speed_div(int speed, int *khz)
int handle_interface_command(struct command_context_s *cmd_ctx, char *cmd, char **args, int argc)
{
int i;
+ int retval;
/* check whether the interface is already configured */
if (jtag_interface)
@@ -1738,8 +1739,10 @@ int handle_interface_command(struct command_context_s *cmd_ctx, char *cmd, char
{
if (strcmp(args[0], jtag_interfaces[i]->name) == 0)
{
- if (jtag_interfaces[i]->register_commands(cmd_ctx) != ERROR_OK)
- exit(-1);
+ if ((retval = jtag_interfaces[i]->register_commands(cmd_ctx)) != ERROR_OK)
+ {
+ return retval;
+ }
jtag_interface = jtag_interfaces[i];