vfs301: Use a transfer autopointer to cleanup it on sync submission

Partially revert commit a855c0cc7, since the driver uses a sync transfer
and in such case the caller still keeps the ownership.
This commit is contained in:
Marco Trevisan (Treviño) 2019-11-28 20:40:32 +01:00 committed by Marco Trevisan
parent 42db16364d
commit 20a52593eb

View file

@ -67,7 +67,8 @@ static void
usb_recv (FpDeviceVfs301 *dev, guint8 endpoint, int max_bytes, FpiUsbTransfer **out, GError **error) usb_recv (FpDeviceVfs301 *dev, guint8 endpoint, int max_bytes, FpiUsbTransfer **out, GError **error)
{ {
GError *err = NULL; GError *err = NULL;
FpiUsbTransfer *transfer;
g_autoptr(FpiUsbTransfer) transfer = NULL;
/* XXX: This function swallows any transfer errors, that is obviously /* XXX: This function swallows any transfer errors, that is obviously
* quite bad (it used to assert on no-error)! */ * quite bad (it used to assert on no-error)! */
@ -78,7 +79,6 @@ usb_recv (FpDeviceVfs301 *dev, guint8 endpoint, int max_bytes, FpiUsbTransfer **
fpi_usb_transfer_submit_sync (transfer, VFS301_DEFAULT_WAIT_TIMEOUT, &err); fpi_usb_transfer_submit_sync (transfer, VFS301_DEFAULT_WAIT_TIMEOUT, &err);
#ifdef DEBUG #ifdef DEBUG
usb_print_packet (0, err, transfer->buffer, transfer->actual_length); usb_print_packet (0, err, transfer->buffer, transfer->actual_length);
#endif #endif
@ -97,7 +97,8 @@ static void
usb_send (FpDeviceVfs301 *dev, const guint8 *data, gssize length, GError **error) usb_send (FpDeviceVfs301 *dev, const guint8 *data, gssize length, GError **error)
{ {
GError *err = NULL; GError *err = NULL;
FpiUsbTransfer *transfer = NULL;
g_autoptr(FpiUsbTransfer) transfer = NULL;
/* XXX: This function swallows any transfer errors, that is obviously /* XXX: This function swallows any transfer errors, that is obviously
* quite bad (it used to assert on no-error)! */ * quite bad (it used to assert on no-error)! */