Parcourir la source

Merge "rmnet_shs: I44b62cfbf45f8574179b98e3a7c304862103e98b"

qctecmdr il y a 1 an
Parent
commit
c080a05860
4 fichiers modifiés avec 117 ajouts et 111 suppressions
  1. 57 57
      shs/rmnet_shs.h
  2. 43 42
      shs/rmnet_shs_freq.c
  3. 12 11
      shs/rmnet_shs_main.c
  4. 5 1
      shs/rmnet_shs_wq_genl.c

+ 57 - 57
shs/rmnet_shs.h

@@ -109,63 +109,63 @@ DATARMNET5eefd5051a,DATARMNET6d1e5ff045,DATARMNETf6458f40e6,DATARMNET438fb7f8f3,
 DATARMNET6fed39da20,DATARMNET706cd2d052,DATARMNETaac8ed4c2d,DATARMNETeccb61ebc3}
 ;enum DATARMNETf355367410{DATARMNET557ff68d74,DATARMNET1c55e5fdb1,
 DATARMNET4ab5a31d0c,DATARMNETde2dd86539};enum DATARMNET6c7f7f22c7{
-DATARMNETe35e238437,DATARMNET0d61981934};enum DATARMNET3f3bc61c03{
-DATARMNETf5157a9b85,DATARMNET709b59b0e6,DATARMNET99db6e7d86,DATARMNETe3c02ddaeb,
-DATARMNET394acaf558,DATARMNETef8cbfa62f,DATARMNETe6e77f9f03,DATARMNETecdf13872c,
-DATARMNETd1687e0776,DATARMNET1828d69e96,DATARMNET40ceff078e,DATARMNET42b73d0f3f,
-DATARMNETb8fe2c0e64,DATARMNET72db8b9bac,DATARMNET33a9d4759f,DATARMNET46966e7828,
-DATARMNETa1f9420686,DATARMNET54b67b8a75,DATARMNETac729c3d29,DATARMNET6533f70c87,
-DATARMNET6f6efeaf61,DATARMNETcc0ef52ccb,DATARMNETf8de7cb644,DATARMNETdd6bf3de6b,
-DATARMNETfeaf903a28,DATARMNET767c76ca08,DATARMNET048727d1d9,DATARMNET43405942ed,
-DATARMNET2e68f4bd9f,DATARMNET0fa3506473,DATARMNETbb641cd339,DATARMNETf352684b06,
-DATARMNET62807647a4,DATARMNET3b5329031b,DATARMNETdfffcec2c8,DATARMNETf3110711cb}
-;enum DATARMNET269385986c{DATARMNET5c4c7e20f2,DATARMNET95c85e6fe1,
-DATARMNET27fb9a225d,DATARMNETbbf8fe40aa,DATARMNETa7d45fb6d4,DATARMNET0acd775aa8,
-DATARMNET2217440c2e,DATARMNET6aecae7be2,DATARMNETf3dfa53867,DATARMNET0492ddb5d5}
-;enum DATARMNETd751e3ec84{DATARMNETcc3c294f38,DATARMNET802083239a,
-DATARMNETed69052342,DATARMNETcfb1764a91,DATARMNET84a9e136b8,DATARMNET01bf75e27c,
-DATARMNETd45c383019,DATARMNETbb5757569c,DATARMNETc8058e2cff,DATARMNET04dac3a62b,
-DATARMNETdf6ecde77a,DATARMNET94658618fc,DATARMNET0d07041c32,DATARMNET3cef75f6cd}
-;struct DATARMNETfd554c7eac{struct sk_buff*skb;struct DATARMNETfd554c7eac*next;}
-;struct DATARMNET37ef896af8{struct work_struct DATARMNET33110a3ff5;struct 
-rmnet_port*port;};struct DATARMNETe600c5b727{struct list_head 
-DATARMNET3dc4262f53;u32 DATARMNETae196235f2;u32 qtail;u32 DATARMNET96571b28de;
-u32 DATARMNET4133fc9428;u32 seg;u8 DATARMNETef866573e0;u8 DATARMNET1e1f197118;u8
- DATARMNET72067bf727;};enum DATARMNETf0a06dc55a{DATARMNET1790979ccf,
-DATARMNETd5eb6398da,DATARMNETcd24fca747,DATARMNETe50d824af7,DATARMNET6b317c4c73,
-DATARMNET75d955c408,DATARMNETf3aaad06eb,DATARMNET720469c0a9,DATARMNET4510abc30d,
-DATARMNET23f8730007,DATARMNETb77d87790d,DATARMNETf783febe14,};enum 
-DATARMNETc1d9e38720{DATARMNET0b15fd8b54,DATARMNET5b5927fd7e,DATARMNETba3049005f}
-;enum DATARMNET4f392b0182{DATARMNET72cb00fdc0,DATARMNET443dab7031,
-DATARMNET96db46917c,DATARMNET89958f9b63,DATARMNET6d7a3a033a,DATARMNET16a68afc17,
-DATARMNET916f444e0a,DATARMNETe9a79499ac,DATARMNET89f4779456,DATARMNETa94c7e31a0,
-DATARMNET116c96c236,DATARMNET9da2ea4f74,DATARMNETe55953a107,DATARMNET43225b7a7c,
-DATARMNET4dbb6812b5,DATARMNETbf80eada88,DATARMNET26438cb654,DATARMNETa6d85c8497,
-DATARMNET650a0ef6e1,DATARMNET3e031f1532,DATARMNET9f467b9ce4,DATARMNETc154fd2d48,
-DATARMNET5874e1ecd7,DATARMNET4f09dc5794,DATARMNET11a1fd3964,DATARMNETf2fc7954d4,
-DATARMNET4e91ddb48a,DATARMNET16befe9635,DATARMNET856c53293b,DATARMNET7e63a08ad4,
-DATARMNETf7c8c7aa3f,DATARMNET08b6defcff,DATARMNETf5c836f9ae,DATARMNETdd870ee64c,
-DATARMNETf730f80f06,DATARMNET998c6de143,DATARMNETe7afce2292,DATARMNETe0fee0991a,
-DATARMNETbc2a6aea12,DATARMNETde91850c28,DATARMNET237e7bd5f6,DATARMNETf16e78412b,
-DATARMNET83147a2e7d,DATARMNET816bb1e327,DATARMNETf311f20c00,DATARMNETa2bd301af7,
-DATARMNET99640d60f7,DATARMNET562b7d32a8,DATARMNET0808844559,DATARMNET5410705c1c,
-DATARMNET022082b219,DATARMNETe4ee0d2636,DATARMNET23b8465daf,DATARMNET052f49b190,
-DATARMNETfb753e521e,DATARMNET64b02f64c6,DATARMNET576793621a,DATARMNETc262b24b02,
-DATARMNET4ebbc01257,DATARMNET595eed6ea2,DATARMNETde090e8314,DATARMNETa593d87b38,
-DATARMNET8a2898988b,DATARMNET0709c9f764,DATARMNETae009376be,DATARMNET5994bb1411,
-DATARMNET623224aa0a,DATARMNET94906cea05,};extern struct DATARMNET37ef896af8 
-DATARMNET1731db288b;extern spinlock_t DATARMNETd83ee17944;extern spinlock_t 
-DATARMNET3764d083f0;extern spinlock_t DATARMNETec2a4f5211;extern spinlock_t 
-DATARMNETfbdbab2ef6;extern struct hlist_head DATARMNETe603c3a4b3[
-(0xd26+209-0xdf6)<<(DATARMNET25437d35fd)];extern int(*rmnet_shs_skb_entry)(
-struct sk_buff*skb,struct rmnet_shs_clnt_s*DATARMNET9e820fbfe3);extern int(*
-rmnet_shs_ll_skb_entry)(struct sk_buff*skb,struct rmnet_shs_clnt_s*
-DATARMNET9e820fbfe3);extern int(*rmnet_shs_switch)(struct sk_buff*skb,struct 
-rmnet_shs_clnt_s*DATARMNET9e820fbfe3);void DATARMNET203752febd(void);void 
-DATARMNET7520667b38(void);void DATARMNETa871eeb7e7(void);void 
-DATARMNET8f9da46b14(void);int DATARMNET362b15f941(u16 cpu);void 
-DATARMNETeacad8334e(void);void DATARMNETe1f95274f1(void);unsigned int 
-DATARMNET02cdd9b125(void);int DATARMNET310c3eb16e(u8 mask);int 
+DATARMNETe35e238437,DATARMNET465c0e5e6d,DATARMNET0d61981934};enum 
+DATARMNET3f3bc61c03{DATARMNETf5157a9b85,DATARMNET709b59b0e6,DATARMNET99db6e7d86,
+DATARMNETe3c02ddaeb,DATARMNET394acaf558,DATARMNETef8cbfa62f,DATARMNETe6e77f9f03,
+DATARMNETecdf13872c,DATARMNETd1687e0776,DATARMNET1828d69e96,DATARMNET40ceff078e,
+DATARMNET42b73d0f3f,DATARMNETb8fe2c0e64,DATARMNET72db8b9bac,DATARMNET33a9d4759f,
+DATARMNET46966e7828,DATARMNETa1f9420686,DATARMNET54b67b8a75,DATARMNETac729c3d29,
+DATARMNET6533f70c87,DATARMNET6f6efeaf61,DATARMNETcc0ef52ccb,DATARMNETf8de7cb644,
+DATARMNETdd6bf3de6b,DATARMNETfeaf903a28,DATARMNET767c76ca08,DATARMNET048727d1d9,
+DATARMNET43405942ed,DATARMNET2e68f4bd9f,DATARMNET0fa3506473,DATARMNETbb641cd339,
+DATARMNETf352684b06,DATARMNET62807647a4,DATARMNET3b5329031b,DATARMNETdfffcec2c8,
+DATARMNETf3110711cb};enum DATARMNET269385986c{DATARMNET5c4c7e20f2,
+DATARMNET95c85e6fe1,DATARMNET27fb9a225d,DATARMNETbbf8fe40aa,DATARMNETa7d45fb6d4,
+DATARMNET0acd775aa8,DATARMNET2217440c2e,DATARMNET6aecae7be2,DATARMNETf3dfa53867,
+DATARMNET0492ddb5d5};enum DATARMNETd751e3ec84{DATARMNETcc3c294f38,
+DATARMNET802083239a,DATARMNETed69052342,DATARMNETcfb1764a91,DATARMNET84a9e136b8,
+DATARMNET01bf75e27c,DATARMNETd45c383019,DATARMNETbb5757569c,DATARMNETc8058e2cff,
+DATARMNET04dac3a62b,DATARMNETdf6ecde77a,DATARMNET94658618fc,DATARMNET0d07041c32,
+DATARMNET3cef75f6cd};struct DATARMNETfd554c7eac{struct sk_buff*skb;struct 
+DATARMNETfd554c7eac*next;};struct DATARMNET37ef896af8{struct work_struct 
+DATARMNET33110a3ff5;struct rmnet_port*port;};struct DATARMNETe600c5b727{struct 
+list_head DATARMNET3dc4262f53;u32 DATARMNETae196235f2;u32 qtail;u32 
+DATARMNET96571b28de;u32 DATARMNET4133fc9428;u32 seg;u8 DATARMNETef866573e0;u8 
+DATARMNET1e1f197118;u8 DATARMNET72067bf727;};enum DATARMNETf0a06dc55a{
+DATARMNET1790979ccf,DATARMNETd5eb6398da,DATARMNETcd24fca747,DATARMNETe50d824af7,
+DATARMNET6b317c4c73,DATARMNET75d955c408,DATARMNETf3aaad06eb,DATARMNET720469c0a9,
+DATARMNET4510abc30d,DATARMNET23f8730007,DATARMNETb77d87790d,DATARMNETf783febe14,
+};enum DATARMNETc1d9e38720{DATARMNET0b15fd8b54,DATARMNET5b5927fd7e,
+DATARMNETba3049005f};enum DATARMNET4f392b0182{DATARMNET72cb00fdc0,
+DATARMNET443dab7031,DATARMNET96db46917c,DATARMNET89958f9b63,DATARMNET6d7a3a033a,
+DATARMNET16a68afc17,DATARMNET916f444e0a,DATARMNETe9a79499ac,DATARMNET89f4779456,
+DATARMNETa94c7e31a0,DATARMNET116c96c236,DATARMNET9da2ea4f74,DATARMNETe55953a107,
+DATARMNET43225b7a7c,DATARMNET4dbb6812b5,DATARMNETbf80eada88,DATARMNET26438cb654,
+DATARMNETa6d85c8497,DATARMNET650a0ef6e1,DATARMNET3e031f1532,DATARMNET9f467b9ce4,
+DATARMNETc154fd2d48,DATARMNET5874e1ecd7,DATARMNET4f09dc5794,DATARMNET11a1fd3964,
+DATARMNETf2fc7954d4,DATARMNET4e91ddb48a,DATARMNET16befe9635,DATARMNET856c53293b,
+DATARMNET7e63a08ad4,DATARMNETf7c8c7aa3f,DATARMNET08b6defcff,DATARMNETf5c836f9ae,
+DATARMNETdd870ee64c,DATARMNETf730f80f06,DATARMNET998c6de143,DATARMNETe7afce2292,
+DATARMNETe0fee0991a,DATARMNETbc2a6aea12,DATARMNETde91850c28,DATARMNET237e7bd5f6,
+DATARMNETf16e78412b,DATARMNET83147a2e7d,DATARMNET816bb1e327,DATARMNETf311f20c00,
+DATARMNETa2bd301af7,DATARMNET99640d60f7,DATARMNET562b7d32a8,DATARMNET0808844559,
+DATARMNET5410705c1c,DATARMNET022082b219,DATARMNETe4ee0d2636,DATARMNET23b8465daf,
+DATARMNET052f49b190,DATARMNETfb753e521e,DATARMNET64b02f64c6,DATARMNET576793621a,
+DATARMNETc262b24b02,DATARMNET4ebbc01257,DATARMNET595eed6ea2,DATARMNETde090e8314,
+DATARMNETa593d87b38,DATARMNET8a2898988b,DATARMNET0709c9f764,DATARMNETae009376be,
+DATARMNET5994bb1411,DATARMNET623224aa0a,DATARMNET94906cea05,};extern struct 
+DATARMNET37ef896af8 DATARMNET1731db288b;extern spinlock_t DATARMNETd83ee17944;
+extern spinlock_t DATARMNET3764d083f0;extern spinlock_t DATARMNETec2a4f5211;
+extern spinlock_t DATARMNETfbdbab2ef6;extern struct hlist_head 
+DATARMNETe603c3a4b3[(0xd26+209-0xdf6)<<(DATARMNET25437d35fd)];extern int(*
+rmnet_shs_skb_entry)(struct sk_buff*skb,struct rmnet_shs_clnt_s*
+DATARMNET9e820fbfe3);extern int(*rmnet_shs_ll_skb_entry)(struct sk_buff*skb,
+struct rmnet_shs_clnt_s*DATARMNET9e820fbfe3);extern int(*rmnet_shs_switch)(
+struct sk_buff*skb,struct rmnet_shs_clnt_s*DATARMNET9e820fbfe3);void 
+DATARMNET203752febd(void);void DATARMNET7520667b38(void);void 
+DATARMNETa871eeb7e7(void);void DATARMNET8f9da46b14(void);int DATARMNET362b15f941
+(u16 cpu);void DATARMNETeacad8334e(void);void DATARMNETe1f95274f1(void);unsigned
+ int DATARMNET02cdd9b125(void);int DATARMNET310c3eb16e(u8 mask);int 
 DATARMNETe02152c351(struct DATARMNET63d7680df2*DATARMNET63b1a086d5,u8 
 DATARMNETd87669e323,u8 DATARMNET5447204733);void DATARMNET4684d6c911(struct 
 rmnet_map_pb_ind_hdr*DATARMNET4e61dda775);void DATARMNET78bb6be330(struct 

+ 43 - 42
shs/rmnet_shs_freq.c

@@ -57,57 +57,58 @@ DATARMNETe24d518157->DATARMNET1159aa2cb6=DATARMNET81fe789d21;}
 for_each_possible_cpu(i){DATARMNETe24d518157=per_cpu_ptr(DATARMNET7cf8d49bd5.
 DATARMNETde47bee4ac,i);DATARMNETe24d518157->DATARMNET103c8d34fe=MIN_FREQ;
 DATARMNETe24d518157->DATARMNET1159aa2cb6=DATARMNET81fe789d21;}}void 
-DATARMNET5e4aeef593(int cpu){struct cpu_freq*DATARMNETe24d518157;int i=cpu;if((
-(0xd26+209-0xdf6)<<i)&DATARMNET9273f84bf1)return;DATARMNETe24d518157=per_cpu_ptr
-(DATARMNETc4b1be7898.DATARMNET9dd9bc4abb,i);DATARMNETe24d518157->
+DATARMNET5e4aeef593(int cpu){struct cpu_freq*DATARMNETe24d518157;int i=cpu;if(
+cpu<(0xd2d+202-0xdf7)||cpu>=DATARMNETc6782fed88)return;if(((0xd26+209-0xdf6)<<i)
+&DATARMNET9273f84bf1)return;DATARMNETe24d518157=per_cpu_ptr(DATARMNETc4b1be7898.
+DATARMNET9dd9bc4abb,i);DATARMNETe24d518157->DATARMNET103c8d34fe=
+DATARMNET59b491fbc9;DATARMNETe24d518157->DATARMNET1159aa2cb6=DATARMNET81fe789d21
+;trace_rmnet_freq_boost(i,DATARMNET59b491fbc9);}void DATARMNETfb7007f025(void){
+struct cpu_freq*DATARMNETe24d518157;int i;for_each_possible_cpu(i){if((
+(0xd26+209-0xdf6)<<i)&DATARMNETbc3c416b77)continue;DATARMNETe24d518157=
+per_cpu_ptr(DATARMNETc4b1be7898.DATARMNET9dd9bc4abb,i);DATARMNETe24d518157->
 DATARMNET103c8d34fe=DATARMNET59b491fbc9;DATARMNETe24d518157->DATARMNET1159aa2cb6
-=DATARMNET81fe789d21;trace_rmnet_freq_boost(i,DATARMNET59b491fbc9);}void 
-DATARMNETfb7007f025(void){struct cpu_freq*DATARMNETe24d518157;int i;
+=DATARMNET81fe789d21;trace_rmnet_freq_boost(i,DATARMNET59b491fbc9);}if(
+work_pending(&DATARMNETbfcbb4b8ac))return;if(DATARMNETde8f350999){queue_work_on(
+DATARMNET03d51cb126,DATARMNETde8f350999,&DATARMNETbfcbb4b8ac);}}void 
+DATARMNET202a68d7d0(void){struct cpu_freq*DATARMNETe24d518157;int i;
 for_each_possible_cpu(i){if(((0xd26+209-0xdf6)<<i)&DATARMNETbc3c416b77)continue;
-DATARMNETe24d518157=per_cpu_ptr(DATARMNETc4b1be7898.DATARMNET9dd9bc4abb,i);
+DATARMNETe24d518157=per_cpu_ptr(DATARMNET7cf8d49bd5.DATARMNETde47bee4ac,i);
 DATARMNETe24d518157->DATARMNET103c8d34fe=DATARMNET59b491fbc9;DATARMNETe24d518157
 ->DATARMNET1159aa2cb6=DATARMNET81fe789d21;trace_rmnet_freq_boost(i,
-DATARMNET59b491fbc9);}if(work_pending(&DATARMNETbfcbb4b8ac))return;if(
+DATARMNET59b491fbc9);}if(work_pending(&DATARMNET3dc8e3c69f))return;if(
 DATARMNETde8f350999){queue_work_on(DATARMNET03d51cb126,DATARMNETde8f350999,&
-DATARMNETbfcbb4b8ac);}}void DATARMNET202a68d7d0(void){struct cpu_freq*
-DATARMNETe24d518157;int i;for_each_possible_cpu(i){if(((0xd26+209-0xdf6)<<i)&
-DATARMNETbc3c416b77)continue;DATARMNETe24d518157=per_cpu_ptr(DATARMNET7cf8d49bd5
-.DATARMNETde47bee4ac,i);DATARMNETe24d518157->DATARMNET103c8d34fe=
-DATARMNET59b491fbc9;DATARMNETe24d518157->DATARMNET1159aa2cb6=DATARMNET81fe789d21
-;trace_rmnet_freq_boost(i,DATARMNET59b491fbc9);}if(work_pending(&
-DATARMNET3dc8e3c69f))return;if(DATARMNETde8f350999){queue_work_on(
-DATARMNET03d51cb126,DATARMNETde8f350999,&DATARMNET3dc8e3c69f);}}void 
-DATARMNET371703c28d(void){struct cpu_freq*DATARMNETe24d518157;int i;
-for_each_possible_cpu(i){DATARMNETe24d518157=per_cpu_ptr(DATARMNETc4b1be7898.
-DATARMNET9dd9bc4abb,i);DATARMNETe24d518157->DATARMNET103c8d34fe=MIN_FREQ;
-DATARMNETe24d518157->DATARMNET1159aa2cb6=DATARMNET81fe789d21;
-trace_rmnet_freq_reset(i,MIN_FREQ);}if(work_pending(&DATARMNETbfcbb4b8ac))return
-;if(DATARMNETde8f350999)queue_work_on(DATARMNET03d51cb126,DATARMNETde8f350999,&
-DATARMNETbfcbb4b8ac);}void DATARMNETf20806b279(void){struct cpu_freq*
+DATARMNET3dc8e3c69f);}}void DATARMNET371703c28d(void){struct cpu_freq*
 DATARMNETe24d518157;int i;for_each_possible_cpu(i){DATARMNETe24d518157=
-per_cpu_ptr(DATARMNET7cf8d49bd5.DATARMNETde47bee4ac,i);DATARMNETe24d518157->
+per_cpu_ptr(DATARMNETc4b1be7898.DATARMNET9dd9bc4abb,i);DATARMNETe24d518157->
 DATARMNET103c8d34fe=MIN_FREQ;DATARMNETe24d518157->DATARMNET1159aa2cb6=
 DATARMNET81fe789d21;trace_rmnet_freq_reset(i,MIN_FREQ);}if(work_pending(&
-DATARMNET3dc8e3c69f))return;if(DATARMNETde8f350999)queue_work_on(
-DATARMNET03d51cb126,DATARMNETde8f350999,&DATARMNET3dc8e3c69f);}static void 
-DATARMNET009d37d173(void){struct freq_qos_request*DATARMNETddcafd8b91;int i;
-for_each_possible_cpu(i){DATARMNETddcafd8b91=&per_cpu(DATARMNET17d6a9530a,i);if(
+DATARMNETbfcbb4b8ac))return;if(DATARMNETde8f350999)queue_work_on(
+DATARMNET03d51cb126,DATARMNETde8f350999,&DATARMNETbfcbb4b8ac);}void 
+DATARMNETf20806b279(void){struct cpu_freq*DATARMNETe24d518157;int i;
+for_each_possible_cpu(i){DATARMNETe24d518157=per_cpu_ptr(DATARMNET7cf8d49bd5.
+DATARMNETde47bee4ac,i);DATARMNETe24d518157->DATARMNET103c8d34fe=MIN_FREQ;
+DATARMNETe24d518157->DATARMNET1159aa2cb6=DATARMNET81fe789d21;
+trace_rmnet_freq_reset(i,MIN_FREQ);}if(work_pending(&DATARMNET3dc8e3c69f))return
+;if(DATARMNETde8f350999)queue_work_on(DATARMNET03d51cb126,DATARMNETde8f350999,&
+DATARMNET3dc8e3c69f);}static void DATARMNET009d37d173(void){struct 
+freq_qos_request*DATARMNETddcafd8b91;int i;for_each_possible_cpu(i){
+DATARMNETddcafd8b91=&per_cpu(DATARMNET17d6a9530a,i);if(DATARMNETddcafd8b91&&
+freq_qos_request_active(DATARMNETddcafd8b91)){freq_qos_remove_request(
+DATARMNETddcafd8b91);}DATARMNETddcafd8b91=&per_cpu(DATARMNET68a4af61b9,i);if(
 DATARMNETddcafd8b91&&freq_qos_request_active(DATARMNETddcafd8b91)){
-freq_qos_remove_request(DATARMNETddcafd8b91);}DATARMNETddcafd8b91=&per_cpu(
-DATARMNET68a4af61b9,i);if(DATARMNETddcafd8b91&&freq_qos_request_active(
-DATARMNETddcafd8b91)){freq_qos_remove_request(DATARMNETddcafd8b91);}}}int 
-DATARMNETe6e8431304(void){struct cpu_freq*DATARMNETe24d518157;int i;int ret=
-(0xd2d+202-0xdf7);struct freq_qos_request*DATARMNETddcafd8b91;struct 
-cpufreq_policy*policy;DATARMNETc4b1be7898.DATARMNET9dd9bc4abb=alloc_percpu(
-struct cpu_freq);if(!DATARMNETc4b1be7898.DATARMNET9dd9bc4abb)return-ENOMEM;
-DATARMNET7cf8d49bd5.DATARMNETde47bee4ac=alloc_percpu(struct cpu_freq);if(!
-DATARMNET7cf8d49bd5.DATARMNETde47bee4ac){free_percpu(DATARMNETc4b1be7898.
-DATARMNET9dd9bc4abb);return-ENOMEM;}if(!DATARMNETde8f350999)DATARMNETde8f350999=
-alloc_workqueue("\x73\x68\x73\x5f\x62\x6f\x6f\x73\x74\x5f\x77\x71",WQ_HIGHPRI,
-(0xd2d+202-0xdf7));if(!DATARMNETde8f350999){ret=-ENOMEM;goto err;}
-for_each_possible_cpu(i){DATARMNETe24d518157=per_cpu_ptr(DATARMNETc4b1be7898.
-DATARMNET9dd9bc4abb,i);DATARMNETddcafd8b91=&per_cpu(DATARMNET17d6a9530a,i);
-policy=cpufreq_cpu_get(i);if(!policy){pr_err(
+freq_qos_remove_request(DATARMNETddcafd8b91);}}}int DATARMNETe6e8431304(void){
+struct cpu_freq*DATARMNETe24d518157;int i;int ret=(0xd2d+202-0xdf7);struct 
+freq_qos_request*DATARMNETddcafd8b91;struct cpufreq_policy*policy;
+DATARMNETc4b1be7898.DATARMNET9dd9bc4abb=alloc_percpu(struct cpu_freq);if(!
+DATARMNETc4b1be7898.DATARMNET9dd9bc4abb)return-ENOMEM;DATARMNET7cf8d49bd5.
+DATARMNETde47bee4ac=alloc_percpu(struct cpu_freq);if(!DATARMNET7cf8d49bd5.
+DATARMNETde47bee4ac){free_percpu(DATARMNETc4b1be7898.DATARMNET9dd9bc4abb);return
+-ENOMEM;}if(!DATARMNETde8f350999)DATARMNETde8f350999=alloc_workqueue(
+"\x73\x68\x73\x5f\x62\x6f\x6f\x73\x74\x5f\x77\x71",WQ_HIGHPRI,(0xd2d+202-0xdf7))
+;if(!DATARMNETde8f350999){ret=-ENOMEM;goto err;}for_each_possible_cpu(i){
+DATARMNETe24d518157=per_cpu_ptr(DATARMNETc4b1be7898.DATARMNET9dd9bc4abb,i);
+DATARMNETddcafd8b91=&per_cpu(DATARMNET17d6a9530a,i);policy=cpufreq_cpu_get(i);if
+(!policy){pr_err(
 "\x25\x73\x3a\x20\x63\x70\x75\x66\x72\x65\x71\x20\x70\x6f\x6c\x69\x63\x79\x20\x6e\x6f\x74\x20\x66\x6f\x75\x6e\x64\x20\x66\x6f\x72\x20\x63\x70\x75\x25\x64" "\n"
 ,__func__,i);return-ESRCH;}ret=freq_qos_add_request(&policy->constraints,
 DATARMNETddcafd8b91,FREQ_QOS_MIN,MIN_FREQ);if(ret<(0xd2d+202-0xdf7)){pr_err(

+ 12 - 11
shs/rmnet_shs_main.c

@@ -40,17 +40,18 @@
 #include <linux/cpumask.h>
 #include <linux/icmp.h>
 #include <linux/inet.h>
-static char*verinfo[]={"\x37\x61\x32\x34\x64\x35\x34\x61",
-"\x34\x34\x62\x37\x32\x33\x31\x32","\x62\x66\x61\x30\x39\x34\x62\x35"
-"\x62\x38\x38\x39\x38\x62\x66\x32","\x33\x35\x32\x37\x62\x38\x30\x65",
-"\x63\x30\x39\x37\x35\x35\x62\x33","\x32\x36\x66\x64\x33\x30\x36\x35",
-"\x65\x36\x66\x64\x34\x31\x33\x37","\x36\x64\x38\x31\x37\x39\x62\x63",
-"\x64\x66\x39\x32\x65\x35\x33\x34","\x30\x38\x61\x39\x34\x38\x64\x61",
-"\x36\x35\x35\x37\x37\x63\x32\x32","\x65\x35\x37\x30\x63\x30\x35\x63",
-"\x30\x63\x61\x37\x61\x62\x38\x30","\x63\x30\x33\x31\x36\x31\x63\x66",
-"\x35\x61\x66\x31\x30\x31\x31\x64","\x36\x38\x36\x36\x36\x32\x33\x32",
-"\x65\x32\x31\x38\x66\x34\x35\x31"};module_param_array(verinfo,charp,NULL,
-(0xcb7+5769-0x221c));MODULE_PARM_DESC(verinfo,
+static char*verinfo[]={"\x32\x31\x30\x33\x65\x39\x38\x62",
+"\x37\x61\x32\x34\x64\x35\x34\x61","\x34\x34\x62\x37\x32\x33\x31\x32",
+"\x62\x66\x61\x30\x39\x34\x62\x35""\x62\x38\x38\x39\x38\x62\x66\x32",
+"\x33\x35\x32\x37\x62\x38\x30\x65","\x63\x30\x39\x37\x35\x35\x62\x33",
+"\x32\x36\x66\x64\x33\x30\x36\x35","\x65\x36\x66\x64\x34\x31\x33\x37",
+"\x36\x64\x38\x31\x37\x39\x62\x63","\x64\x66\x39\x32\x65\x35\x33\x34",
+"\x30\x38\x61\x39\x34\x38\x64\x61","\x36\x35\x35\x37\x37\x63\x32\x32",
+"\x65\x35\x37\x30\x63\x30\x35\x63","\x30\x63\x61\x37\x61\x62\x38\x30",
+"\x63\x30\x33\x31\x36\x31\x63\x66","\x35\x61\x66\x31\x30\x31\x31\x64",
+"\x36\x38\x36\x36\x36\x32\x33\x32","\x65\x32\x31\x38\x66\x34\x35\x31"};
+module_param_array(verinfo,charp,NULL,(0xcb7+5769-0x221c));MODULE_PARM_DESC(
+verinfo,
 "\x56\x65\x72\x73\x69\x6f\x6e\x20\x6f\x66\x20\x74\x68\x65\x20\x64\x72\x69\x76\x65\x72"
 );
 #define DATARMNET2f67183a86 2000000

+ 5 - 1
shs/rmnet_shs_wq_genl.c

@@ -199,7 +199,11 @@ if(na){if(nla_memcpy(&DATARMNET7f0ce2d6ad,na,sizeof(DATARMNET7f0ce2d6ad))>
 "\x68\x61\x73\x68\x5f\x74\x6f\x5f\x6d\x6f\x76\x65\x20\x3d\x20\x30\x78\x25\x78\x20\x73\x75\x67\x67\x5f\x74\x79\x70\x65\x20\x3d\x20\x25\x75"
 ,DATARMNET7f0ce2d6ad.DATARMNETc790ff30fc,DATARMNET7f0ce2d6ad.DATARMNET208ea67e1d
 ,DATARMNET7f0ce2d6ad.DATARMNET4da4612f1e,DATARMNET7f0ce2d6ad.DATARMNETa3f89581b5
-);if(DATARMNET7f0ce2d6ad.DATARMNETa3f89581b5==DATARMNET5898b2a84b){
+);if(DATARMNET7f0ce2d6ad.DATARMNET208ea67e1d>=DATARMNETc6782fed88||
+DATARMNET7f0ce2d6ad.DATARMNETc790ff30fc>=DATARMNETc6782fed88){
+DATARMNET930a441406[DATARMNET465c0e5e6d]++;DATARMNET5d4ca1da1c(
+DATARMNET54338da2ff,DATARMNET96de786762);return-(0xd26+209-0xdf6);}if(
+DATARMNET7f0ce2d6ad.DATARMNETa3f89581b5==DATARMNET5898b2a84b){
 DATARMNET3874292c18=DATARMNET7f0ce2d6ad.DATARMNET208ea67e1d;
 trace_rmnet_shs_wq_high(DATARMNETa0ecb9daac,DATARMNETd7f7ade458,
 DATARMNET7f0ce2d6ad.DATARMNETc790ff30fc,DATARMNET7f0ce2d6ad.DATARMNET208ea67e1d,