From c740e8e4b2bbbb984ccaeac80dafc2772854c2dc Mon Sep 17 00:00:00 2001 From: Andrew Thompson Date: Sun, 10 Jan 2010 19:18:49 +0000 Subject: Reset variable fields in case the transfer is opened again Submitted by: Hans Petter Selasky --- lib/libusb/libusb20.c | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) (limited to 'lib/libusb/libusb20.c') diff --git a/lib/libusb/libusb20.c b/lib/libusb/libusb20.c index 41f9ac72de60..1c75fc16712c 100644 --- a/lib/libusb/libusb20.c +++ b/lib/libusb/libusb20.c @@ -130,8 +130,19 @@ libusb20_tr_close(struct libusb20_transfer *xfer) if (xfer->ppBuffer) { free(xfer->ppBuffer); } - /* clear some fields */ + /* reset variable fields in case the transfer is opened again */ + xfer->priv_sc0 = 0; + xfer->priv_sc1 = 0; xfer->is_opened = 0; + xfer->is_pending = 0; + xfer->is_cancel = 0; + xfer->is_draining = 0; + xfer->is_restart = 0; + xfer->status = 0; + xfer->flags = 0; + xfer->nFrames = 0; + xfer->aFrames = 0; + xfer->timeout = 0; xfer->maxFrames = 0; xfer->maxTotalLength = 0; xfer->maxPacketLen = 0; -- cgit v1.2.3