From 7082eecf2a31084bd9368f50b976cd0b57922bb8 Mon Sep 17 00:00:00 2001
From: Thomas Fischl <tfischl@gmx.de>
Date: Fri, 2 Feb 2007 16:27:49 +0000
Subject: [PATCH] usbasp.c: return error if communication with target isn't
 possible.

git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk@729 81a1dc3b-b13d-400b-aceb-764788c761c2
---
 avrdude/ChangeLog | 5 +++++
 avrdude/usbasp.c  | 3 +--
 2 files changed, 6 insertions(+), 2 deletions(-)

diff --git a/avrdude/ChangeLog b/avrdude/ChangeLog
index dc7dbfef..d0231044 100644
--- a/avrdude/ChangeLog
+++ b/avrdude/ChangeLog
@@ -1,3 +1,8 @@
+2007-02-02 Thomas Fischl <tfischl@gmx.de>
+	* usbasp.c: Changed return value of function usbasp_initialize to stop
+        avrdude on communication errors between programmer and target.
+	Closes bug #18581: safemode destroys fuse bits
+
 2007-02-01 Joerg Wunsch <j@uriah.heep.sax.de>
 
 	* config_gram.y: Remove duplicate definition of token K_WRITEPAGE
diff --git a/avrdude/usbasp.c b/avrdude/usbasp.c
index c0d772e4..434d8229 100644
--- a/avrdude/usbasp.c
+++ b/avrdude/usbasp.c
@@ -205,8 +205,7 @@ static int usbasp_initialize(PROGRAMMER * pgm, AVRPART * p)
 
   usleep(100000);
 
-  pgm->program_enable(pgm, p);
-  return 0;
+  return pgm->program_enable(pgm, p);
 }
 
 static void usbasp_disable(PROGRAMMER * pgm)