Skip to content

Commit 72f7a64

Browse files
committed
fixup! fix(transport): UsbApi abort endless device.transferIn/transferOut using device.reset
1 parent c5c59ec commit 72f7a64

File tree

1 file changed

+21
-3
lines changed
  • packages/transport/src/api

1 file changed

+21
-3
lines changed

packages/transport/src/api/usb.ts

Lines changed: 21 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -193,7 +193,13 @@ export class UsbApi extends AbstractApi {
193193
this.debugLink ? DEBUGLINK_ENDPOINT_ID : ENDPOINT_ID,
194194
this.chunkSize,
195195
),
196-
{ signal, onAbort: () => device.reset() },
196+
{
197+
signal,
198+
onAbort: () =>
199+
device.reset().catch(err => {
200+
this.logger?.error(`usb: device.reset.error ${err}`);
201+
}),
202+
},
197203
);
198204
this.logger?.debug(
199205
`usb: device.transferIn done. status: ${res.status}, byteLength: ${res.data?.byteLength}. device: ${this.formatDeviceForLog(device)}`,
@@ -234,7 +240,13 @@ export class UsbApi extends AbstractApi {
234240
this.debugLink ? DEBUGLINK_ENDPOINT_ID : ENDPOINT_ID,
235241
newArray,
236242
),
237-
{ signal, onAbort: () => device.reset() },
243+
{
244+
signal,
245+
onAbort: () =>
246+
device.reset().catch(err => {
247+
this.logger?.error(`usb: device.reset.error ${err}`);
248+
}),
249+
},
238250
);
239251
this.logger?.debug(
240252
`usb: device.transferOut done. device: ${this.formatDeviceForLog(device)}`,
@@ -311,7 +323,13 @@ export class UsbApi extends AbstractApi {
311323
try {
312324
// reset fails on ChromeOS and windows
313325
this.logger?.debug('usb: device.reset');
314-
await this.abortableMethod(() => device.reset(), { signal });
326+
await this.abortableMethod(
327+
() =>
328+
device.reset().catch(err => {
329+
this.logger?.error(`usb: device.reset.error ${err}`);
330+
}),
331+
{ signal },
332+
);
315333
this.logger?.debug(
316334
`usb: device.reset done. device: ${this.formatDeviceForLog(device)}`,
317335
);

0 commit comments

Comments
 (0)