From d94d94e2c06b4331f706a3b4eca058041294ea05 Mon Sep 17 00:00:00 2001 From: Hans Petter Selasky Date: Wed, 2 Mar 2022 12:31:27 +0100 Subject: [PATCH] libusb(3): Ignore SIGPIPE when initializing the LibUSB v1.0 API. The LibUSB v1.0 emulation layer uses pipes internally to signal between threads. When USB devices are reset, as part of loading firmware, SIGPIPE may happen, and that is expected and should be ignored. PR: 261891 MFC after: 1 week Sponsored by: NVIDIA Networking --- lib/libusb/libusb10.c | 3 +++ lib/libusb/libusb_global_linux.h | 1 + 2 files changed, 4 insertions(+) diff --git a/lib/libusb/libusb10.c b/lib/libusb/libusb10.c index ffe0cf3f366a..ecfffde555aa 100644 --- a/lib/libusb/libusb10.c +++ b/lib/libusb/libusb10.c @@ -34,6 +34,7 @@ #include #include #include +#include #include #include #include @@ -226,6 +227,8 @@ libusb_init(libusb_context **context) DPRINTF(ctx, LIBUSB_DEBUG_FUNCTION, "libusb_init complete"); + signal(SIGPIPE, SIG_IGN); + return (0); } diff --git a/lib/libusb/libusb_global_linux.h b/lib/libusb/libusb_global_linux.h index 9886bd4486f5..3e83bb2a6ea4 100644 --- a/lib/libusb/libusb_global_linux.h +++ b/lib/libusb/libusb_global_linux.h @@ -50,6 +50,7 @@ #include #include #include +#include #include #include #include