diff --git a/gutenprint-libusb-crash.patch b/gutenprint-libusb-crash.patch
new file mode 100644
index 0000000..05853b2
--- /dev/null
+++ b/gutenprint-libusb-crash.patch
@@ -0,0 +1,75 @@
+diff --git a/src/cups/backend_common.c b/src/cups/backend_common.c
+index 6333408..b19668d 100644
+--- a/src/cups/backend_common.c
++++ b/src/cups/backend_common.c
+@@ -753,8 +753,7 @@ static struct dyesub_backend *backends[] = {
+ NULL,
+ };
+
+-static int find_and_enumerate(struct libusb_context *ctx,
+- struct libusb_device ***list,
++static int find_and_enumerate(struct libusb_device ***list,
+ const struct dyesub_backend *backend,
+ const char *match_serno,
+ const char *make,
+@@ -777,7 +776,7 @@ static int find_and_enumerate(struct libusb_context *ctx,
+ STATE("+org.gutenprint.searching-for-device\n");
+
+ /* Enumerate and find suitable device */
+- num = libusb_get_device_list(ctx, list);
++ num = libusb_get_device_list(NULL, list);
+
+ /* See if we can actually match on the supplied make! */
+ if (backend && make) {
+@@ -1010,7 +1009,6 @@ along with this program; if not, see .\n\n";
+
+ void print_help(const char *argv0, const struct dyesub_backend *backend)
+ {
+- struct libusb_context *ctx = NULL;
+ struct libusb_device **list = NULL;
+
+ const char *ptr = getenv("BACKEND");
+@@ -1072,7 +1070,7 @@ void print_help(const char *argv0, const struct dyesub_backend *backend)
+ }
+
+ /* Scan for all printers for the specified backend */
+- find_and_enumerate(ctx, &list, backend, NULL, ptr, 1, 1, NULL);
++ find_and_enumerate(&list, backend, NULL, ptr, 1, 1, NULL);
+ libusb_free_device_list(list, 1);
+ }
+
+@@ -1251,7 +1249,6 @@ done:
+
+ int main (int argc, char **argv)
+ {
+- struct libusb_context *ctx = NULL;
+ struct libusb_device **list = NULL;
+
+ struct dyesub_backend *backend = NULL;
+@@ -1414,7 +1411,7 @@ int main (int argc, char **argv)
+ #endif
+
+ /* Libusb setup */
+- ret = libusb_init(&ctx);
++ ret = libusb_init(NULL);
+ if (ret) {
+ ERROR("Failed to initialize libusb (%d)\n", ret);
+ ret = CUPS_BACKEND_RETRY_CURRENT;
+@@ -1438,7 +1435,7 @@ int main (int argc, char **argv)
+ }
+
+ /* Enumerate devices */
+- found = find_and_enumerate(ctx, &list, backend, use_serno, backend_str, 0, NUM_CLAIM_ATTEMPTS, &conn);
++ found = find_and_enumerate(&list, backend, use_serno, backend_str, 0, NUM_CLAIM_ATTEMPTS, &conn);
+
+ if (found == -1) {
+ ERROR("Printer open failure (No matching printers found!)\n");
+@@ -1572,7 +1569,7 @@ done:
+ if (list)
+ libusb_free_device_list(list, 1);
+
+- libusb_exit(ctx);
++ libusb_exit(NULL);
+
+ return ret;
+ }
diff --git a/gutenprint.spec b/gutenprint.spec
index 41a86ef..2523b73 100644
--- a/gutenprint.spec
+++ b/gutenprint.spec
@@ -8,7 +8,7 @@
Name: gutenprint
Summary: Printer Drivers Package
Version: 5.3.4
-Release: 7%{?dist}
+Release: 8%{?dist}
URL: http://gimp-print.sourceforge.net/
Source0: http://downloads.sourceforge.net/gimp-print/%{name}-%{version}.tar.xz
# Post-install script to update CUPS native PPDs.
@@ -20,6 +20,7 @@ Patch4: gutenprint-yyin.patch
Patch5: gutenprint-manpage.patch
Patch6: gutenprint-python36syntax.patch
Patch7: gutenprint-xmlfixes.patch
+Patch8: gutenprint-libusb-crash.patch
License: GPLv2+
#### removed patches, because the seems useless
@@ -153,7 +154,6 @@ Epson, HP and compatible printers.
%patch3 -p1 -b .postscriptdriver
# Don't export yy* symbols (bug #882194).
%patch4 -p1 -b .yyin
-
# Added some escputil options to the manpage (bug #979064).
%patch5 -p1 -b .manpage
@@ -166,6 +166,8 @@ sed -i -e 's,^#!/usr/bin/python3,#!%{__python3},' src/cups/cups-genppdupdate.in
%patch6 -p1 -b .python36syntax
# fix xml error reported by rpminspect, sent upstream via email
%patch7 -p1 -b .xmlfixes
+# 2055504 - Set gutenprint53+usb backend to use the default USB context
+%patch8 -p1 -b .crash
%build
# Don't run the weave test as it takes a very long time.
@@ -286,6 +288,9 @@ exit 0
%{_mandir}/man8/cups-genppd*8*.gz
%changelog
+* Mon Mar 28 2022 Zdenek Dohnal - 5.3.4-8
+- 2055504 - Set gutenprint53+usb backend to use the default USB context
+
* Thu Jan 20 2022 Fedora Release Engineering - 5.3.4-7
- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild