mirror of
https://gitlab.freedesktop.org/libfprint/libfprint.git
synced 2025-11-15 07:38:12 +00:00
drivers: Simplify libusb_alloc_transfer(0) calls
By using our new, never-failing, USB allocation wrapper. As it can never fail, we can also remove all the error paths for the allocations failing.
This commit is contained in:
@@ -583,13 +583,7 @@ sm_write_regs(fpi_ssm *ssm,
|
||||
struct write_regs_data *wrdata = g_malloc(sizeof(*wrdata));
|
||||
unsigned char *data;
|
||||
|
||||
wrdata->transfer = libusb_alloc_transfer(0);
|
||||
if (!wrdata->transfer) {
|
||||
g_free(wrdata);
|
||||
fpi_ssm_mark_failed(ssm, -ENOMEM);
|
||||
return;
|
||||
}
|
||||
|
||||
wrdata->transfer = fpi_usb_alloc();
|
||||
data = g_malloc(LIBUSB_CONTROL_SETUP_SIZE + 1);
|
||||
libusb_fill_control_setup(data, 0x40, 0x0c, 0, 0, 1);
|
||||
libusb_fill_control_transfer(wrdata->transfer,
|
||||
@@ -621,15 +615,10 @@ sm_write_reg(fpi_ssm *ssm,
|
||||
uint8_t reg,
|
||||
uint8_t value)
|
||||
{
|
||||
struct libusb_transfer *transfer = libusb_alloc_transfer(0);
|
||||
struct libusb_transfer *transfer = fpi_usb_alloc();
|
||||
unsigned char *data;
|
||||
int r;
|
||||
|
||||
if (!transfer) {
|
||||
fpi_ssm_mark_failed(ssm, -ENOMEM);
|
||||
return;
|
||||
}
|
||||
|
||||
fp_dbg("set %02x=%02x", reg, value);
|
||||
data = g_malloc(LIBUSB_CONTROL_SETUP_SIZE + 1);
|
||||
libusb_fill_control_setup(data, 0x40, 0x0c, 0, reg, 1);
|
||||
@@ -671,15 +660,10 @@ sm_read_reg(fpi_ssm *ssm,
|
||||
struct fp_img_dev *dev,
|
||||
uint8_t reg)
|
||||
{
|
||||
struct libusb_transfer *transfer = libusb_alloc_transfer(0);
|
||||
struct libusb_transfer *transfer = fpi_usb_alloc();
|
||||
unsigned char *data;
|
||||
int r;
|
||||
|
||||
if (!transfer) {
|
||||
fpi_ssm_mark_failed(ssm, -ENOMEM);
|
||||
return;
|
||||
}
|
||||
|
||||
fp_dbg("read reg %02x", reg);
|
||||
data = g_malloc(LIBUSB_CONTROL_SETUP_SIZE + 8);
|
||||
libusb_fill_control_setup(data, 0xc0, 0x0c, 0, reg, 8);
|
||||
@@ -723,15 +707,10 @@ static void
|
||||
sm_await_intr(fpi_ssm *ssm,
|
||||
struct fp_img_dev *dev)
|
||||
{
|
||||
struct libusb_transfer *transfer = libusb_alloc_transfer(0);
|
||||
struct libusb_transfer *transfer = fpi_usb_alloc();
|
||||
unsigned char *data;
|
||||
int r;
|
||||
|
||||
if (!transfer) {
|
||||
fpi_ssm_mark_failed(ssm, -ENOMEM);
|
||||
return;
|
||||
}
|
||||
|
||||
G_DEBUG_HERE();
|
||||
data = g_malloc(4);
|
||||
libusb_fill_interrupt_transfer(transfer, fpi_dev_get_usb_dev(FP_DEV(dev)),
|
||||
@@ -1302,11 +1281,7 @@ static int dev_activate(struct fp_img_dev *dev, enum fp_imgdev_state state)
|
||||
sdev->num_flying = 0;
|
||||
for (i = 0; i < NUM_BULK_TRANSFERS; i++) {
|
||||
unsigned char *data;
|
||||
sdev->img_transfer[i] = libusb_alloc_transfer(0);
|
||||
if (!sdev->img_transfer[i]) {
|
||||
free_img_transfers(sdev);
|
||||
return -ENOMEM;
|
||||
}
|
||||
sdev->img_transfer[i] = fpi_usb_alloc();
|
||||
sdev->img_transfer_data[i].idx = i;
|
||||
sdev->img_transfer_data[i].dev = dev;
|
||||
data = g_malloc(4096);
|
||||
|
||||
Reference in New Issue
Block a user