X-Git-Url: http://code.vuplus.com/gitweb/?p=vuplus_openvuplus_3.0;a=blobdiff_plain;f=meta-bsp%2Fcommon%2Frecipes%2Flinux%2Flinux-vuplus-3.13.5%2Flinux_dvb_adapter.patch;fp=meta-bsp%2Fcommon%2Frecipes%2Flinux%2Flinux-vuplus-3.13.5%2Flinux_dvb_adapter.patch;h=e298f2bebe74713e210a41fe231995295c4db242;hp=0000000000000000000000000000000000000000;hb=72a489c8029075ab8bd69b1b158a1bf877195ddb;hpb=1b79033b19248c5e7d403f947ac435eb7048210d diff --git a/meta-bsp/common/recipes/linux/linux-vuplus-3.13.5/linux_dvb_adapter.patch b/meta-bsp/common/recipes/linux/linux-vuplus-3.13.5/linux_dvb_adapter.patch new file mode 100644 index 0000000..e298f2b --- /dev/null +++ b/meta-bsp/common/recipes/linux/linux-vuplus-3.13.5/linux_dvb_adapter.patch @@ -0,0 +1,36 @@ +diff --git a/drivers/media/dvb-core/dvbdev.c b/drivers/media/dvb-core/dvbdev.c +index 983db75..1a7aa58 100644 +--- a/drivers/media/dvb-core/dvbdev.c ++++ b/drivers/media/dvb-core/dvbdev.c +@@ -296,9 +296,9 @@ static int dvbdev_check_free_adapter_num(int num) + return 1; + } + +-static int dvbdev_get_free_adapter_num (void) ++static int dvbdev_get_free_adapter_num (int start_num) + { +- int num = 0; ++ int num = start_num; + + while (num < DVB_MAX_ADAPTERS) { + if (dvbdev_check_free_adapter_num(num)) +@@ -316,16 +316,17 @@ int dvb_register_adapter(struct dvb_adapter *adap, const char *name, + { + int i, num; + ++ char *vu_name = strstr(name, "_vuplus_"); + mutex_lock(&dvbdev_register_lock); + + for (i = 0; i < DVB_MAX_ADAPTERS; ++i) { + num = adapter_nums[i]; +- if (num >= 0 && num < DVB_MAX_ADAPTERS) { ++ if (num >= vu_name? 0:1 && num < DVB_MAX_ADAPTERS) { + /* use the one the driver asked for */ + if (dvbdev_check_free_adapter_num(num)) + break; + } else { +- num = dvbdev_get_free_adapter_num(); ++ num = dvbdev_get_free_adapter_num(vu_name? 0:1); + break; + } + num = -1;