[haiku-bugs] Re: [Haiku] #15333: Canon scanner does not function on USB 3.0 ports

  • From: "Haiku" <trac@xxxxxxxxxxxx>
  • To: undisclosed-recipients: ;
  • Date: Sun, 03 Oct 2021 08:17:55 -0000

#15333: Canon scanner does not function on USB 3.0 ports
--------------------------+----------------------------
  Reporter:  vidrep       |      Owner:  nobody
      Type:  bug          |     Status:  assigned
  Priority:  normal       |  Milestone:  Unscheduled
 Component:  Drivers/USB  |    Version:  R1/Development
Resolution:               |   Keywords:
Blocked By:               |   Blocking:
  Platform:  All          |
--------------------------+----------------------------
Comment (by pulkomandy):

 What usually happens with libusb is someone updates it from upstream
 without checking anything.

 Usually, upstream will have added new OS specific callbacks that we don't
 implement and filled this table:
 https://github.com/libusb/libusb/blob/master/libusb/os/haiku_usb_raw.cpp#L182
 with NULL pointers. When the transfer worker is asked to call these
 functions, it crashes.

 We need to identify which of these callbacks is needed, and implement it.
 There are a lot of NULL in the table but these sometimes are optional or
 have fallback cross-platform implementations. You can find this by:

 - Implementing callbacks until it starts working
 - Adding traces to the SANE and/or libusb code to see which one it is
 trying to do when it crashes
 - Deduce which one it is from the assembler instructions in the debug
 report, which probably uses some kind of offset into this table
-- 
Ticket URL: <https://dev.haiku-os.org/ticket/15333#comment:20>
Haiku <https://dev.haiku-os.org>
The Haiku operating system.

Other related posts: