From 9ec6cf8e329528de9221e6076838db57f607962e Mon Sep 17 00:00:00 2001
From: Joerg Wunsch <j@uriah.heep.sax.de>
Date: Mon, 27 Jan 2014 21:15:28 +0000
Subject: [PATCH] [bug #41357] OS X: Avrdude messes with the usb stack? *
 usb_libusb.c (usbdev_close): Only issue the usb_reset() for Linux systems, as
 these are the only ones that seem to require it under some circumstances.

git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@1273 81a1dc3b-b13d-400b-aceb-764788c761c2
---
 ChangeLog    | 7 +++++++
 NEWS         | 1 +
 usb_libusb.c | 2 +-
 3 files changed, 9 insertions(+), 1 deletion(-)

diff --git a/ChangeLog b/ChangeLog
index e2cd52a2..eec962c3 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,10 @@
+2014-01-27  Joerg Wunsch <j.gnu@uriah.heep.sax.de>
+
+	[bug #41357] OS X: Avrdude messes with the usb stack?
+	* usb_libusb.c (usbdev_close): Only issue the usb_reset() for
+	Linux systems, as these are the only ones that seem to require
+	it under some circumstances.
+
 2014-01-22  Joerg Wunsch <j.gnu@uriah.heep.sax.de>
 
 	* configure.ac (libelf): check against elf_getshdrstrndx() rather
diff --git a/NEWS b/NEWS
index 46b8fb6c..79eef0d4 100644
--- a/NEWS
+++ b/NEWS
@@ -22,6 +22,7 @@ Current:
     - bug #40085: Typo fix in fuses report (for 6.1-svn-20130917)
     - bug #40817: Elf file support (possibly) not working on 6.0.1 windows build
     - bug #40897: AT Mega2560 not correctly programmed with stk500(v1) ISP (solution patch)
+    - bug #41357: OS X: Avrdude messes with the usb stack?
     - patch #7896: DFU FLIPv2 programming support
     - patch #XXXX: xxx
 
diff --git a/usb_libusb.c b/usb_libusb.c
index 8f3b0498..27143444 100644
--- a/usb_libusb.c
+++ b/usb_libusb.c
@@ -269,7 +269,7 @@ static void usbdev_close(union filedescriptor *fd)
 
   (void)usb_release_interface(udev, usb_interface);
 
-#if !( defined(__FreeBSD__) ) // || ( defined(__APPLE__) && defined(__MACH__) ) )
+#if defined(__linux__)
   /*
    * Without this reset, the AVRISP mkII seems to stall the second
    * time we try to connect to it.  This is not necessary on