4d75bf5
--- a/drivers/tripplite_usb.c	
4d75bf5
+++ a/drivers/tripplite_usb.c	
4d75bf5
@@ -25,7 +25,7 @@ 
4d75bf5
    Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
4d75bf5
 */
4d75bf5
 
4d75bf5
-#define DRV_VERSION "0.11"
4d75bf5
+#define DRV_VERSION "0.11.1"
4d75bf5
 
4d75bf5
 /* % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % 
4d75bf5
  *
4d75bf5
@@ -358,8 +358,6 @@ static int reconnect_ups(void)
4d75bf5
 	upsdebugx(2, "= device has been disconnected, try to reconnect =");
4d75bf5
 	upsdebugx(2, "==================================================");
4d75bf5
 
4d75bf5
-	upsdrv_cleanup();
4d75bf5
-
4d75bf5
 	ret = comm_driver->open(&udev, &curDevice, reopen_matcher, NULL);
4d75bf5
 	if (ret < 1) {
4d75bf5
 		upslogx(LOG_INFO, "Reconnecting to UPS failed; will retry later...");
4d75bf5
@@ -515,12 +513,10 @@ void usb_comm_fail(int res, const char *msg)
4d75bf5
 		case -EBUSY:
4d75bf5
 			upslogx(LOG_WARNING, "%s: Device claimed by another process", msg);
4d75bf5
 			fatalx(EXIT_FAILURE, "Terminating: EBUSY");
4d75bf5
-			upsdrv_cleanup();
4d75bf5
 			break;
4d75bf5
 
4d75bf5
 		default:
4d75bf5
 			upslogx(LOG_WARNING, "%s: Device detached? (error %d: %s)", msg, res, usb_strerror());
4d75bf5
-			upsdrv_cleanup();
4d75bf5
 
4d75bf5
 			upslogx(LOG_NOTICE, "Reconnect attempt #%d", ++try);
4d75bf5
 			hd = NULL;