#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.