lib: reset device if needed

This improves the situation on hosts with flaky host
controllers like the Raspberry Pi and the WR703N.

Signed-off-by: Steve Markgraf <steve@steve-m.de>
This commit is contained in:
Steve Markgraf 2013-01-04 21:26:43 +01:00
parent 4b057fea0f
commit 7840ec21d3
1 changed files with 6 additions and 0 deletions

View File

@ -1344,6 +1344,12 @@ int rtlsdr_open(rtlsdr_dev_t **out_dev, uint32_t index)
dev->rtl_xtal = DEF_RTL_XTAL_FREQ;
/* perform a dummy write, if it fails, reset the device */
if (rtlsdr_write_reg(dev, USBB, USB_SYSCTL, 0x09, 1) < 0) {
fprintf(stderr, "Resetting device...\n");
libusb_reset_device(dev->devh);
}
rtlsdr_init_baseband(dev);
/* Probe tuners */