ports/print/hplip/files/patch-io_hpmud_musb.c
Tijl Coosemans 982e968ef6 print/hplip(-plugin): update to 3.22.2
- Convert post-patch to real patches because they are easier to
  maintain.
- Fix a NULL dereference in the scanner backend when D-Bus isn't
  running.
- Depend on sysutils/py-distro to make hp-toolbox (Device Manager) work
  again.
- Upstream switched to Avahi for mDNS support.  Rename the SNMP option
  to NETWORK because it's not just SNMP now.
- Don't install some programs related to uninstalling and upgrading of
  HPLIP and the installation of firmware plugins because they circumvent
  the package system.
- Install icons in share/icons so desktops can choose an appropriate
  resolution.

Portions taken from a patch by Oleg Sidorkin <osidorkin@gmail.com>.

PR:		255586, 257034, 257512
2022-03-11 15:49:48 +01:00

31 lines
1.1 KiB
C

--- io/hpmud/musb.c.orig 2022-02-23 07:41:04 UTC
+++ io/hpmud/musb.c
@@ -139,10 +139,16 @@ static int get_string_descriptor(libusb_device_handle
0x409,
tbuf, sizeof(tbuf), LIBUSB_CONTROL_REQ_TIMEOUT);
- if (ret==0)
+ if (ret==0
+#ifdef __FreeBSD__
+ || ret == -EIO
+#endif
+ )
{
- /* This retry is necessary for lj1000 and lj1005. des 12/12/07 */
- BUG("get_string_descriptor zero result, retrying...");
+ /* This retry is necessary for lj1000 and lj1005. des 12/12/07
+ Also HP Photosmart 42xx seems to suffer transient errors with serial id */
+ BUG("get_string_descriptor error result %d, retrying in 2 secs...", ret);
+ sleep(2);
continue;
}
break;
@@ -385,7 +391,7 @@ static int detach(libusb_device_handle *hd, int interf
{
int ret ;
/* If any kernel module has claimed this interface, detach it. */
- ret = libusb_kernel_driver_active (hd, interface);
+ ret = 0;
DBG("Active kernel driver on interface=%d ret=%d\n", interface, ret);
if (ret == 1)
{