Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Win7 backend enhancements #4248

Merged
merged 6 commits into from
Aug 19, 2019
Merged

Conversation

ev-mp
Copy link
Collaborator

@ev-mp ev-mp commented Jun 19, 2019

Set explicit timeout policy for bulk and interrupt endpoints
Fix dead-lock in bulk streaming end point.
Prevent polling of Host-originated EP.
Remove unused extrinsic member
Add handling for WinUSB_Open failure
Adding report for partial frames
Add EP flush on start/stop streaming to recover/reset previous state.
Fix memory and resource leak due to improper user callback management
Fix warnings identified with static profiler
Fix inconsistent EOL/ Tabs/ Trailing white spaces
Tests:

  • Add Cmake flag to control access level of selected members
  • Adding extrinsic graph profiler to internal tests

@ev-mp ev-mp requested a review from matkatz June 19, 2019 15:05
@@ -370,6 +370,8 @@ namespace librealsense
{
while (_keep_pulling_interrupts)
{
if (_device->deviceData.ctrl_if.bEndpointAddress < 0x80)
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Need to not run poll_interrupts in this case

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I refactored and check it in init phase

@@ -288,7 +294,6 @@ namespace librealsense
DEVICE_NOTIFY_WINDOW_HANDLE);
if (data->hdevnotifyUVC == nullptr)
{
UnregisterDeviceNotification(data->hdevnotifyHW);
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Why?

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This was an invalid call as it tried to do UnregisterDeviceNotification(**nullptr**);
which produces nothing.
Removing this call rectifies the flow

@ev-mp ev-mp force-pushed the v2.23_win7_fixes branch 2 times, most recently from fe7ecfb to c582535 Compare August 18, 2019 11:13
matkatz and others added 4 commits August 18, 2019 14:14
Static analizer fixes
Deadlock reproduction with Log message
Stall detection and wor-around
add verbose log for winusb backend
Report partial frames
Drop unnecessary logs. Fix format issues.
Redirect all pritf calls to log
Add pipe flush before start streaming to recover/reset previous state
Add missing include for VS2015 build

Profile extrinsic graph performance:
- add auxillary functionality
- remove unused extrernal_extrinsic
@ev-mp ev-mp force-pushed the v2.23_win7_fixes branch from c582535 to 8122298 Compare August 18, 2019 11:17
Remove unused variables
Fix missing source reference
Delete profiling and testing code
Fix EOL/Tab inconsistencies
Remove commented-out lines
Replace writes to console
Interrupt EP thread shall be opened for Upstream end-points only

Change-Id: Ib9d6ea6e37d6d1525e6d96968e1e1087d8508651
@ev-mp ev-mp force-pushed the v2.23_win7_fixes branch from 8122298 to 4569849 Compare August 18, 2019 14:12
@dorodnic dorodnic merged commit a761af6 into IntelRealSense:development Aug 19, 2019
@ev-mp ev-mp deleted the v2.23_win7_fixes branch September 2, 2019 14:08
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants