From 70e1b678ee030ddd01336e223996fbdd2b13cb22 Mon Sep 17 00:00:00 2001 From: Andrew Thompson Date: Mon, 19 Jan 2009 21:22:10 +0000 Subject: [PATCH] Set the pipe pointer before calling usbd_transfer() as its possible for the xfer callback to be invoked on error. MFC after: 2 weeks --- sys/dev/usb/usbdi.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sys/dev/usb/usbdi.c b/sys/dev/usb/usbdi.c index 8f0ce0f46d6..a733bbf8de0 100644 --- a/sys/dev/usb/usbdi.c +++ b/sys/dev/usb/usbdi.c @@ -237,8 +237,8 @@ usbd_open_pipe_intr(usbd_interface_handle iface, u_int8_t address, USBD_NO_TIMEOUT, cb); ipipe->intrxfer = xfer; ipipe->repeat = 1; - err = usbd_transfer(xfer); *pipe = ipipe; + err = usbd_transfer(xfer); if (err != USBD_IN_PROGRESS && err) goto bad2; return (USBD_NORMAL_COMPLETION);