Ticket #196 (closed defect: fixed)
Remove usb_pipe_start_session & co
| Reported by: | vojtechhorky | Owned by: | vojtechhorky |
|---|---|---|---|
| Priority: | minor | Milestone: | Week 16 |
| Component: | Interfaces and Libraries | Keywords: | |
| Cc: | helenos-usb-trac@… |
Description
These functions are no longer needed.
Part of the task is also to make usb_pipe_start_long_transfer() void. The error in connecting could be reported via usb_pipe_read() (or similar) that usually follows this. The idea is hide the phones even more and make the code shorter (less tests for rc != EOK).
Implementation note: usb_pipe_start_long_transfer() shall try to start the transfer (i. e. open the IPC phone). If that fails, the usb_pipe_read() will do the same. At the time, the IPC connection might be established (e. g. some other phones has been closed). That would make problems when ending the transfer, because usb_pipe_end_long_transfer() would be decrementing the reference counter into negative values. Adding something like "soft" counter for failed usb_pipe_start_long_transfer() shall bypass this (usb_pipe_end_long_transfer() would decrement the soft first and only when it is zero decrement the "hard" one).