diff --git a/src/libratbag-hidraw.c b/src/libratbag-hidraw.c index efe8b581..1a946445 100644 --- a/src/libratbag-hidraw.c +++ b/src/libratbag-hidraw.c @@ -72,6 +72,9 @@ err: void ratbag_close_hidraw(struct ratbag_device *device) { + if (device->hidraw_fd < 0) + return; + ratbag_close_fd(device, device->hidraw_fd); device->hidraw_fd = -1; } diff --git a/src/libratbag.c b/src/libratbag.c index 1776ddf2..f83e14a4 100644 --- a/src/libratbag.c +++ b/src/libratbag.c @@ -268,8 +268,7 @@ ratbag_device_destroy(struct ratbag_device *device) if (device->udev_hidraw) udev_device_unref(device->udev_hidraw); - if (device->hidraw_fd >= 0) - close(device->hidraw_fd); + ratbag_close_hidraw(device); ratbag_unref(device->ratbag); free(device->name);