[vuplus-wifi-util] fix default ccode
[vuplus_openvuplus_3.0] / meta-bsp / recipes-kernel / linux / linux-vuplus-3.13.5 / linux_dvb_adapter.patch
1 diff --git a/drivers/media/dvb-core/dvbdev.c b/drivers/media/dvb-core/dvbdev.c
2 index 983db75..1a7aa58 100644
3 --- a/drivers/media/dvb-core/dvbdev.c
4 +++ b/drivers/media/dvb-core/dvbdev.c
5 @@ -296,9 +296,9 @@ static int dvbdev_check_free_adapter_num(int num)
6         return 1;
7  }
8  
9 -static int dvbdev_get_free_adapter_num (void)
10 +static int dvbdev_get_free_adapter_num (int start_num)
11  {
12 -       int num = 0;
13 +       int num = start_num;
14  
15         while (num < DVB_MAX_ADAPTERS) {
16                 if (dvbdev_check_free_adapter_num(num))
17 @@ -316,16 +316,17 @@ int dvb_register_adapter(struct dvb_adapter *adap, const char *name,
18  {
19         int i, num;
20  
21 +       char *vu_name = strstr(name, "_vuplus_");
22         mutex_lock(&dvbdev_register_lock);
23  
24         for (i = 0; i < DVB_MAX_ADAPTERS; ++i) {
25                 num = adapter_nums[i];
26 -               if (num >= 0  &&  num < DVB_MAX_ADAPTERS) {
27 +               if (num >= vu_name? 0:1  &&  num < DVB_MAX_ADAPTERS) {
28                 /* use the one the driver asked for */
29                         if (dvbdev_check_free_adapter_num(num))
30                                 break;
31                 } else {
32 -                       num = dvbdev_get_free_adapter_num();
33 +                       num = dvbdev_get_free_adapter_num(vu_name? 0:1);
34                         break;
35                 }
36                 num = -1;