diff --git a/patches/minisatip-axe.patch b/patches/minisatip-axe.patch index 6dfc03e3..d0184b7a 100644 --- a/patches/minisatip-axe.patch +++ b/patches/minisatip-axe.patch @@ -1,5 +1,5 @@ diff --git a/adapter.c b/adapter.c -index 285faea..6168975 100755 +index 285faea..10d162f 100755 --- a/adapter.c +++ b/adapter.c @@ -29,10 +29,15 @@ @@ -249,7 +249,25 @@ index 285faea..6168975 100755 } else LOG ("not tuning for SID %d (do_tune=%d, master_sid=%d)", sid, -@@ -684,7 +782,11 @@ describe_adapter (int sid, int aid) +@@ -659,6 +757,17 @@ get_adapter1 (int aid,char *file, int line) + return &a[aid]; + } + ++adapter * ++get_adapter21 (int aid,char *file, int line) ++{ ++ if (aid < 0 || aid >= MAX_ADAPTERS || a[aid].force_disable) ++ { ++ LOG ("%s:%d: get_adapter2 returns NULL for adapter_id %d", file, line, aid); ++ return NULL; ++ } ++ return &a[aid]; ++} ++ + char dad[1000]; + char * + describe_adapter (int sid, int aid) +@@ -684,7 +793,11 @@ describe_adapter (int sid, int aid) memset (dad, 0, sizeof (dad)); x = 0; // do just max 3 signal check 1s after tune @@ -261,7 +279,7 @@ index 285faea..6168975 100755 { int new_gs = 1; ts = getTick (); -@@ -701,11 +803,20 @@ describe_adapter (int sid, int aid) +@@ -701,11 +814,20 @@ describe_adapter (int sid, int aid) if (ad->max_snr <= ad->snr) ad->max_snr = (ad->snr>0)?ad->snr:1; LOG ("get_signal%s took %d ms for adapter %d handle %d (status: %d, ber: %d, strength:%d, snr: %d, max_strength: %d, max_snr: %d %d)", new_gs?"":"_new", getTick () - ts, aid, ad->fe, ad->status, ad->ber, ad->strength, ad->snr, ad->max_strength, ad->max_snr, opts.force_scan); @@ -282,7 +300,7 @@ index 285faea..6168975 100755 } if(use_ad) { -@@ -715,14 +826,14 @@ describe_adapter (int sid, int aid) +@@ -715,14 +837,14 @@ describe_adapter (int sid, int aid) } if (t->sys == SYS_DVBS || t->sys == SYS_DVBS2) sprintf (dad, "ver=1.0;src=%d;tuner=%d,%d,%d,%d,%d,%s,%s,%s,%s,%s,%d,%s;pids=", @@ -300,7 +318,7 @@ index 285faea..6168975 100755 t->c2tft, t->ds, t->plp, t->inversion); for (i = 0; i < MAX_PIDS; i++) if (use_ad && ad->pids[i].flags == 1) -@@ -825,7 +936,7 @@ void enable_adapters(char *o) +@@ -825,7 +947,7 @@ void enable_adapters(char *o) void set_unicable_adapters(char *o, int type) { @@ -309,7 +327,7 @@ index 285faea..6168975 100755 char buf[100], *arg[20], *sep1, *sep2; strncpy(buf, o, sizeof(buf)); -@@ -839,17 +950,67 @@ void set_unicable_adapters(char *o, int type) +@@ -839,17 +961,67 @@ void set_unicable_adapters(char *o, int type) sep2 = strchr(arg[i], '-'); if( !sep1 || !sep2) continue; @@ -378,7 +396,7 @@ index 285faea..6168975 100755 int delsys_match(adapter *ad, int del_sys) { -@@ -866,3 +1027,71 @@ int delsys_match(adapter *ad, int del_sys) +@@ -866,3 +1038,71 @@ int delsys_match(adapter *ad, int del_sys) return 0; } @@ -451,7 +469,7 @@ index 285faea..6168975 100755 +} +#endif diff --git a/adapter.h b/adapter.h -index 629bd9c..45024a4 100755 +index 629bd9c..c84506f 100755 --- a/adapter.h +++ b/adapter.h @@ -24,7 +24,7 @@ typedef struct struct_adapter @@ -473,7 +491,13 @@ index 629bd9c..45024a4 100755 } adapter; int init_hw (); -@@ -65,7 +68,8 @@ void dump_pids (int aid); +@@ -60,13 +63,16 @@ void mark_pids_deleted (int aid, int sid, char *pids); + int mark_pids_add (int sid, int aid, char *pids); + int update_pids (int aid); + adapter * get_adapter1 (int aid, char *file, int line); ++adapter * get_adapter21 (int aid, char *file, int line); + char *describe_adapter (int sid, int aid); + void dump_pids (int aid); void sort_pids (int aid); void enable_adapters(char *o); void set_unicable_adapters(char *o, int type); @@ -483,6 +507,8 @@ index 629bd9c..45024a4 100755 int delsys_match(adapter *ad, int del_sys); #define get_adapter(a) get_adapter1(a, __FILE__, __LINE__) ++#define get_adapter2(a) get_adapter21(a, __FILE__, __LINE__) + #endif /* */ diff --git a/axe.h b/axe.h new file mode 100644 index 0000000..cfc1927 @@ -641,7 +667,7 @@ index 0000000..cfc1927 diff --git a/dvb.c b/dvb.c old mode 100755 new mode 100644 -index 5701bd2..d352f8a +index 5701bd2..c741112 --- a/dvb.c +++ b/dvb.c @@ -41,6 +41,10 @@ @@ -690,7 +716,7 @@ index 5701bd2..d352f8a + for (i = 0; i < 4 && mask; i++) { + if (((1 << i) & mask) == 0) + continue; -+ a = get_adapter(i); ++ a = get_adapter2(i); + if (a == NULL || a->force_disable) + continue; + if (ioctl(a->fe, FE_SET_VOLTAGE, voltage) == -1) @@ -825,7 +851,7 @@ index 5701bd2..d352f8a + if (ad && (!opts.quattro || extra_quattro(input, diseqc, &equattro))) { + if (equattro > 0) + diseqc = equattro - 1; -+ adm = get_adapter(ad->slave ? ad->slave - 1 : ad->pa); ++ adm = get_adapter2(ad->slave ? ad->slave - 1 : ad->pa); + if (adm == NULL) { + LOG("axe_fe: unknown master adapter %d", input); + return 0; @@ -868,7 +894,7 @@ index 5701bd2..d352f8a + return 0; + } + input = ((hiband ^ 1) << 1) | (pol ^ 1); -+ adm = get_adapter(input); ++ adm = get_adapter2(input); + if (adm == NULL) { + LOG("axe_fe: unknown master adapter %d", input); + return 0; @@ -885,7 +911,7 @@ index 5701bd2..d352f8a + } + } else { + input = opts.axe_unicinp[aid]; -+ ad = get_adapter(input); ++ ad = get_adapter2(input); + if (ad == NULL) { + LOGL(3, "axe setup: unable to find adapter %d", input); + return 0; diff --git a/patches/minisatip5-axe.patch b/patches/minisatip5-axe.patch index 7936b13f..d44afafa 100644 --- a/patches/minisatip5-axe.patch +++ b/patches/minisatip5-axe.patch @@ -1,5 +1,5 @@ diff --git a/adapter.c b/adapter.c -index cd5d8f5..2bb026c 100644 +index cd5d8f5..8c1fd9c 100644 --- a/adapter.c +++ b/adapter.c @@ -117,6 +117,7 @@ int adapter_timeout(sockets *s) @@ -26,7 +26,26 @@ index cd5d8f5..2bb026c 100644 ad->rlen = 0; if (ad->sid_cnt > 1) // the master changed the frequency { -@@ -1304,6 +1307,53 @@ void set_slave_adapters(char *o) +@@ -935,6 +938,18 @@ get_adapter1(int aid, char *file, int line) + return a[aid]; + } + ++adapter * ++get_adapter21(int aid, char *file, int line) ++{ ++ if (aid < 0 || aid >= MAX_ADAPTERS || !a[aid] || disabled[aid]) ++ { ++ LOG("%s:%d: get_adapter2 returns NULL for adapter_id %d", file, line, ++ aid); ++ return NULL; ++ } ++ return a[aid]; ++} ++ + char* get_stream_pids(int s_id, char *dest, int max_size); + char * + describe_adapter(int sid, int aid, char *dad, int ld) +@@ -1304,6 +1319,53 @@ void set_slave_adapters(char *o) } } @@ -81,7 +100,7 @@ index cd5d8f5..2bb026c 100644 void set_adapters_delsys(char *o) { diff --git a/adapter.h b/adapter.h -index 39d4d5f..c4eb45f 100644 +index 39d4d5f..0cd4d8e 100644 --- a/adapter.h +++ b/adapter.h @@ -6,7 +6,11 @@ @@ -115,7 +134,15 @@ index 39d4d5f..c4eb45f 100644 int old_diseqc; int old_hiband; int old_pol; -@@ -131,6 +138,8 @@ void set_diseqc_adapters(char *o); +@@ -122,6 +129,7 @@ int update_pids(int aid); + int tune(int aid, int sid); + SPid *find_pid(int aid, int p); + adapter * get_adapter1(int aid, char *file, int line); ++adapter * get_adapter21(int aid, char *file, int line); + char *describe_adapter(int sid, int aid, char *dad, int ld); + void dump_pids(int aid); + void sort_pids(int aid); +@@ -131,6 +139,8 @@ void set_diseqc_adapters(char *o); void set_diseqc_timing(char *o); void set_slave_adapters(char *o); void set_adapter_dmxsource(char *o); @@ -124,6 +151,14 @@ index 39d4d5f..c4eb45f 100644 void reset_pids_type(int aid, int clear_pat); void reset_ecm_type_for_key(int aid, int key); int delsys_match(adapter *ad, int del_sys); +@@ -143,6 +153,7 @@ void set_adapters_delsys(char *o); + int signal_thread(sockets *s); + + #define get_adapter(a) get_adapter1(a, __FILE__, __LINE__) ++#define get_adapter2(a) get_adapter21(a, __FILE__, __LINE__) + #define get_adapter_nw(aid) ((aid >= 0 && aid < MAX_ADAPTERS && a[aid] && a[aid]->enabled)?a[aid]:NULL) + + #define adapter_lock(a) adapter_lock1(__FILE__,__LINE__,a) diff --git a/axe.h b/axe.h new file mode 100644 index 0000000..d8b06bc @@ -280,7 +315,7 @@ index 0000000..d8b06bc + +#endif diff --git a/dvb.c b/dvb.c -index 74124fc..bcfc684 100644 +index 74124fc..5e7acc6 100644 --- a/dvb.c +++ b/dvb.c @@ -42,6 +42,11 @@ @@ -462,7 +497,7 @@ index 74124fc..bcfc684 100644 + if (!opts.quattro || extra_quattro(input, diseqc, &equattro)) { + if (equattro > 0) + diseqc = equattro - 1; -+ adm = get_adapter(ad->slave ? ad->slave - 1 : ad->pa); ++ adm = get_adapter2(ad->slave ? ad->slave - 1 : ad->pa); + if (adm == NULL) { + LOG("axe_fe: unknown master adapter %d", input); + return 0; @@ -506,7 +541,7 @@ index 74124fc..bcfc684 100644 + return 0; + } + input = ((hiband ^ 1) << 1) | (pol ^ 1); -+ adm = get_adapter(input); ++ adm = get_adapter2(input); + if (adm == NULL) { + LOG("axe_fe: unknown master adapter %d", input); + return 0; @@ -525,7 +560,7 @@ index 74124fc..bcfc684 100644 + } else { + aid = ad->id & 3; + input = opts.axe_unicinp[aid]; -+ ad = get_adapter(input); ++ ad = get_adapter2(input); + if (ad == NULL) { + LOGL(3, "axe setup: unable to find adapter %d", input); + return 0;