From 6f62adc28709fbe2ef82265f0a56c0eb8a5c4b62 Mon Sep 17 00:00:00 2001 From: Adam Sutton Date: Thu, 12 Dec 2013 22:32:16 +0000 Subject: [PATCH] linuxdvb: fix bug stopping adapter path fallback working. fixes #1855. --- src/input/mpegts/linuxdvb/linuxdvb_device.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/src/input/mpegts/linuxdvb/linuxdvb_device.c b/src/input/mpegts/linuxdvb/linuxdvb_device.c index 488eb793..68a5396c 100644 --- a/src/input/mpegts/linuxdvb/linuxdvb_device.c +++ b/src/input/mpegts/linuxdvb/linuxdvb_device.c @@ -38,6 +38,7 @@ * BUS str table */ static struct strtab bustab[] = { + { "NONE", BUS_NONE }, { "PCI", BUS_PCI }, { "USB1", BUS_USB1 }, { "USB2", BUS_USB2 }, @@ -61,6 +62,9 @@ get_device_info ( device_info_t *di, int a ) ssize_t c; int mina = a; + /* Clear */ + memset(di, 0, sizeof(device_info_t)); + /* Check for subsystem */ #define DVB_DEV_PATH "/sys/class/dvb/dvb%d.frontend0/device" snprintf(path, sizeof(path), DVB_DEV_PATH "/subsystem", a); @@ -135,7 +139,7 @@ get_device_info ( device_info_t *di, int a ) di->di_min_adapter = mina; /* Create ID */ - if (*di->di_path && di->di_dev) { + if (*di->di_path && di->di_dev && di->di_bus) { snprintf(buf, sizeof(buf), "%s/%s/%04x:%04x", devinfo_bus2str(di->di_bus), di->di_path, di->di_dev >> 16, di->di_dev & 0xFFFF);