diff options
author | Andrew Thompson <thompsa@FreeBSD.org> | 2010-01-10 19:18:49 +0000 |
---|---|---|
committer | Andrew Thompson <thompsa@FreeBSD.org> | 2010-01-10 19:18:49 +0000 |
commit | c740e8e4b2bbbb984ccaeac80dafc2772854c2dc (patch) | |
tree | ca6e3dc46ef96ef7005cea7c717bbbafc5116c48 /lib | |
parent | b90dfaf3378351cf467b1c7b2a90bceecb881cfa (diff) | |
download | src-c740e8e4b2bbbb984ccaeac80dafc2772854c2dc.tar.gz src-c740e8e4b2bbbb984ccaeac80dafc2772854c2dc.zip |
Reset variable fields in case the transfer is opened again
Submitted by: Hans Petter Selasky
Notes
Notes:
svn path=/head/; revision=202025
Diffstat (limited to 'lib')
-rw-r--r-- | lib/libusb/libusb20.c | 13 |
1 files changed, 12 insertions, 1 deletions
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; |