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

Cancel network connection when processing a USB request that resets the device #1830

Merged
merged 2 commits into from Aug 2, 2019

Conversation

@sergeuz
Copy link
Member

commented Jun 17, 2019

Problem

Control requests are normally processed in the system thread, and if the thread is blocked on some operation, a request may time out. This is especially noticeable on Gen 2 platforms where networking events are processed in the system thread and such CLI commands as usb reset and usb dfu are likely to fail when the device is trying to establish a network or cloud connection.

Solution

Cancel the current network connection attempt and break the communication loop when processing a USB request that causes the device to reset (CTRL_REQUEST_RESET, CTRL_REQUEST_DFU_MODE, etc.)

Steps to Test

Verify that the CLI is able to reset an Electron when it's blinking green and registering in the network.


  • [enhancement] Cancel network connection when processing a USB request that resets the device #1830

@sergeuz sergeuz added the enhancement label Jun 17, 2019

@sergeuz sergeuz requested a review from avtolstoy Jun 17, 2019

@avtolstoy avtolstoy added this to the 1.3.1-rc.1 milestone Jul 26, 2019

sergeuz added 2 commits Jun 17, 2019

@sergeuz sergeuz force-pushed the feature/usb_ctl_quick_reset branch from 39d8b85 to a4d2510 Aug 2, 2019

@sergeuz sergeuz merged commit 37607bc into develop Aug 2, 2019

2 checks passed

Codacy/PR Quality Review Up to standards. A positive pull request.
Details
continuous-integration/travis-ci/pr The Travis CI build passed
Details
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
2 participants
You can’t perform that action at this time.