浏览代码

Merge c0a4336210b7e0e36637beebb0a4ce6efd0a88f3 on remote branch

Change-Id: I042f8803d0bb224a3b1f757e7b1ca98fd0dad3de
Linux Build Service Account 1 年之前
父节点
当前提交
9203419d8c
共有 6 个文件被更改,包括 206 次插入154 次删除
  1. 19 18
      shs/rmnet_shs.h
  2. 48 21
      shs/rmnet_shs_main.c
  3. 89 67
      shs/rmnet_shs_wq.c
  4. 2 1
      shs/rmnet_shs_wq.h
  5. 37 37
      wlan/rmnet_wlan_fragment.c
  6. 11 10
      wlan/rmnet_wlan_main.c

+ 19 - 18
shs/rmnet_shs.h

@@ -1,5 +1,5 @@
 /* Copyright (c) 2018-2021 The Linux Foundation. All rights reserved.
- * Copyright (c) 2022-2023 Qualcomm Innovation Center, Inc. All rights reserved.
+ * Copyright (c) 2022-2024 Qualcomm Innovation Center, Inc. All rights reserved.
  *
  * This program is free software; you can redistribute it and/or modify
  * it under the terms of the GNU General Public License version 2 and
@@ -154,24 +154,25 @@ 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)(
+DATARMNET623224aa0a,DATARMNET94906cea05,};struct DATARMNETe2f668ccb4{u8 
+DATARMNET42c3ecbd5e;u8 DATARMNET24fec1b9ad;u8 DATARMNETf58377e952;unsigned long 
+DATARMNET5c98629e14;};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_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,struct sk_buff**DATARMNETc88d0a6cdd);
-void DATARMNET4684d6c911(struct rmnet_map_pb_ind_hdr*DATARMNET4e61dda775);void 
-DATARMNET78bb6be330(struct rmnet_map_dl_ind_hdr*dlhdr,struct 
-rmnet_map_control_command_header*qcmd);void DATARMNETf61cd23b90(struct 
+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);void 
+DATARMNETaeb508acb0(void);unsigned int DATARMNET02cdd9b125(void);int 
+DATARMNET310c3eb16e(u8 mask);int DATARMNETe02152c351(struct DATARMNET63d7680df2*
+DATARMNET63b1a086d5,u8 DATARMNETd87669e323,u8 DATARMNET5447204733,struct sk_buff
+**DATARMNETc88d0a6cdd);void DATARMNET4684d6c911(struct rmnet_map_pb_ind_hdr*
+DATARMNET4e61dda775);void DATARMNET78bb6be330(struct rmnet_map_dl_ind_hdr*dlhdr,
+struct rmnet_map_control_command_header*qcmd);void DATARMNETf61cd23b90(struct 
 rmnet_map_dl_ind_trl*dltrl,struct rmnet_map_control_command_header*qcmd);void 
 DATARMNET7ed4cef8a3(struct rmnet_map_dl_ind_hdr*dlhdr);void DATARMNET613a81eca8(
 struct rmnet_map_dl_ind_trl*dltrl);int DATARMNET756778f14f(struct sk_buff*skb,

+ 48 - 21
shs/rmnet_shs_main.c

@@ -1,5 +1,5 @@
 /* Copyright (c) 2018-2021 The Linux Foundation. All rights reserved.
- * Copyright (c) 2022-2023 Qualcomm Innovation Center, Inc. All rights reserved.
+ * Copyright (c) 2022-2024 Qualcomm Innovation Center, Inc. All rights reserved.
  *
  * This program is free software; you can redistribute it and/or modify
  * it under the terms of the GNU General Public License version 2 and
@@ -40,17 +40,18 @@
 #include <linux/cpumask.h>
 #include <linux/icmp.h>
 #include <linux/inet.h>
-static char*verinfo[]={"\x37\x66\x63\x32\x33\x39\x31\x66",
-"\x39\x35\x38\x61\x65\x34\x32\x34","\x30\x66\x66\x65\x65\x39\x66\x65",
-"\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"};
-module_param_array(verinfo,charp,NULL,(0xcb7+5769-0x221c));MODULE_PARM_DESC(
-verinfo,
+static char*verinfo[]={"\x63\x66\x66\x31\x64\x38\x38\x36",
+"\x30\x37\x63\x37\x63\x37\x36\x39","\x63\x34\x65\x33\x65\x61\x34\x65",
+"\x37\x66\x63\x32\x33\x39\x31\x66","\x39\x35\x38\x61\x65\x34\x32\x34",
+"\x30\x66\x66\x65\x65\x39\x66\x65","\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"};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
@@ -767,8 +768,35 @@ DATARMNETecc0627c70.DATARMNET6fe0db3a49=DATARMNET4ab5a31d0c;if(
 DATARMNETecc0627c70.DATARMNETa2e32cdd3a>(0xd2d+202-0xdf7)&&!spin_is_locked(&
 DATARMNET3764d083f0)){DATARMNET14ed771dfb[DATARMNET84a9e136b8]++;
 DATARMNETa4bf9fbf64((0xd2d+202-0xdf7),DATARMNET0b15fd8b54);}}void 
-DATARMNET45d8cdb224(struct net_device*dev,struct net_device*vnd){struct rps_map*
-map;int rc;u8 DATARMNET0e4304d903;u8 map_mask;u8 map_len;if(DATARMNETecc0627c70.
+DATARMNETaeb508acb0(void){struct DATARMNETe2f668ccb4 DATARMNET5e1b15e908[
+DATARMNETc6782fed88];int i=(0xd2d+202-0xdf7);int DATARMNET8b7fada323=
+(0xd2d+202-0xdf7),DATARMNET71967642e2=(0xd2d+202-0xdf7),cpu=(0xd2d+202-0xdf7),
+DATARMNET7e100af73e=(0xd2d+202-0xdf7);memset(DATARMNET5e1b15e908,
+(0xd2d+202-0xdf7),DATARMNETc6782fed88*sizeof(struct DATARMNETe2f668ccb4));
+for_each_cpu(cpu,cpu_possible_mask){DATARMNET7e100af73e=(0xd2d+202-0xdf7);
+DATARMNET5e1b15e908[cpu].DATARMNET42c3ecbd5e=cpu;DATARMNET5e1b15e908[cpu].
+DATARMNET24fec1b9ad=topology_cluster_id(cpu);for_each_cpu(DATARMNET7e100af73e,
+topology_cluster_cpumask(cpu)){DATARMNET5e1b15e908[cpu].DATARMNETf58377e952|=
+(0xd26+209-0xdf6)<<DATARMNET7e100af73e;}DATARMNET5e1b15e908[cpu].
+DATARMNET5c98629e14=arch_scale_cpu_capacity(cpu);rm_err(
+"\x53\x48\x53\x5f\x43\x50\x55\x5f\x4c\x4f\x47\x3a\x20\x63\x70\x75\x3a\x20\x25\x64\x20\x63\x69\x64\x3a\x20\x25\x64\x20\x63\x6d\x61\x73\x6b\x3a\x20\x25\x64\x20\x63\x61\x70\x61\x63\x69\x74\x79\x3a\x20\x25\x64" "\n"
+,DATARMNET5e1b15e908[cpu].DATARMNET42c3ecbd5e,DATARMNET5e1b15e908[cpu].
+DATARMNET24fec1b9ad,DATARMNET5e1b15e908[cpu].DATARMNETf58377e952,
+DATARMNET5e1b15e908[cpu].DATARMNET5c98629e14);}DATARMNET8b7fada323=
+DATARMNET5e1b15e908[(0xd2d+202-0xdf7)].DATARMNET5c98629e14;DATARMNET71967642e2=
+(0xd2d+202-0xdf7);for(i=(0xd2d+202-0xdf7);i<DATARMNETc6782fed88;i++){if(
+DATARMNET5e1b15e908[i].DATARMNET5c98629e14<DATARMNET8b7fada323){
+DATARMNET8b7fada323=DATARMNET5e1b15e908[i].DATARMNET5c98629e14;
+DATARMNET71967642e2=i;}}DATARMNETecc0627c70.DATARMNET637025ccc1=
+DATARMNET5e1b15e908[DATARMNET71967642e2].DATARMNETf58377e952;DATARMNETecc0627c70
+.DATARMNET2f954f58f8=hweight_long(DATARMNETecc0627c70.DATARMNET637025ccc1);
+DATARMNETecc0627c70.DATARMNETf510b48c29=((0xbf7+4364-0x1c04)^DATARMNETecc0627c70
+.DATARMNET637025ccc1);rm_err(
+"\x53\x48\x53\x5f\x43\x50\x55\x5f\x4c\x4f\x47\x3a\x20\x6d\x61\x78\x5f\x73\x5f\x63\x6f\x72\x65\x73\x3a\x20\x25\x64\x20\x6e\x6f\x6e\x5f\x70\x65\x72\x66\x5f\x6d\x61\x73\x6b\x3a\x20\x25\x64\x20\x70\x65\x72\x66\x5f\x6d\x61\x73\x6b\x3a\x20\x25\x64" "\n"
+,DATARMNETecc0627c70.DATARMNET2f954f58f8,DATARMNETecc0627c70.DATARMNET637025ccc1
+,DATARMNETecc0627c70.DATARMNETf510b48c29);}void DATARMNET45d8cdb224(struct 
+net_device*dev,struct net_device*vnd){struct rps_map*map;int rc;u8 
+DATARMNET0e4304d903;u8 map_mask;u8 map_len;if(DATARMNETecc0627c70.
 DATARMNETfc89d842ae)return;map=rcu_dereference(vnd->_rx->rps_map);if(!map){
 map_mask=(0xd2d+202-0xdf7);map_len=(0xd2d+202-0xdf7);}else{map_mask=
 DATARMNET928c931df9(map);map_len=DATARMNET310c3eb16e(map_mask);}
@@ -776,13 +804,12 @@ DATARMNETecc0627c70.port=rmnet_get_port(dev);DATARMNETecc0627c70.map_mask=
 map_mask;DATARMNETecc0627c70.map_len=map_len;DATARMNETecc0627c70.
 DATARMNETba3f7a11ef=(0xd1f+216-0xdf5);DATARMNETecc0627c70.DATARMNET5c24e1df05=
 (0xd26+209-0xdf6);DATARMNETecc0627c70.DATARMNET6625085b71=(0xd26+209-0xdf6);
-DATARMNETecc0627c70.DATARMNET7d667e828e=(0xd26+209-0xdf6);DATARMNETecc0627c70.
-DATARMNETf510b48c29=(0xbc7+4849-0x1e1c);DATARMNETecc0627c70.DATARMNET637025ccc1=
-(0xeb7+705-0x1115);DATARMNETecc0627c70.DATARMNET2f954f58f8=(0xd11+230-0xdf3);for
-(DATARMNET0e4304d903=(0xd2d+202-0xdf7);DATARMNET0e4304d903<DATARMNETc6782fed88;
-DATARMNET0e4304d903++)INIT_LIST_HEAD(&DATARMNET0997c5650d[DATARMNET0e4304d903].
-DATARMNET3dc4262f53);DATARMNETe6e8431304();DATARMNET44499733f2();rc=
-register_oom_notifier(&DATARMNET105c85d84c);if(rc<(0xd2d+202-0xdf7)){pr_info(
+DATARMNETecc0627c70.DATARMNET7d667e828e=(0xd26+209-0xdf6);DATARMNETaeb508acb0();
+for(DATARMNET0e4304d903=(0xd2d+202-0xdf7);DATARMNET0e4304d903<
+DATARMNETc6782fed88;DATARMNET0e4304d903++)INIT_LIST_HEAD(&DATARMNET0997c5650d[
+DATARMNET0e4304d903].DATARMNET3dc4262f53);DATARMNETe6e8431304();
+DATARMNET44499733f2();rc=register_oom_notifier(&DATARMNET105c85d84c);if(rc<
+(0xd2d+202-0xdf7)){pr_info(
 "\x52\x6d\x6e\x65\x74\x5f\x73\x68\x73\x5f\x6f\x6f\x6d\x20\x72\x65\x67\x69\x73\x74\x65\x72\x20\x66\x61\x69\x6c\x75\x72\x65"
 );}pr_info(
 "\x72\x6d\x6e\x65\x74\x5f\x73\x68\x73\x20\x69\x6e\x69\x74\x20\x77\x69\x74\x68\x20\x25\x78"

+ 89 - 67
shs/rmnet_shs_wq.c

@@ -1,5 +1,5 @@
 /* Copyright (c) 2018-2021 The Linux Foundation. All rights reserved.
- * Copyright (c) 2022-2023 Qualcomm Innovation Center, Inc. All rights reserved.
+ * Copyright (c) 2022-2024 Qualcomm Innovation Center, Inc. All rights reserved.
  *
  * This program is free software; you can redistribute it and/or modify
  * it under the terms of the GNU General Public License version 2 and
@@ -19,7 +19,9 @@
 #include <linux/list_sort.h>
 #include <net/sock.h>
 #include <linux/skbuff.h>
+#if IS_ENABLED(CONFIG_SCHED_WALT)
 #include <linux/sched/walt.h>
+#endif 
 #include "rmnet_shs_modules.h"
 #include "rmnet_shs_common.h"
 #include <linux/pm_wakeup.h>
@@ -45,40 +47,58 @@ struct DATARMNETa144e2bd00*DATARMNET9dc7755be5;static struct DATARMNETc8fdbf9c85
 DATARMNET63229bfce5);struct list_head DATARMNET9825511866=LIST_HEAD_INIT(
 DATARMNET9825511866);static int DATARMNETe038d33545;struct list_head 
 DATARMNET30a3e83974=LIST_HEAD_INIT(DATARMNET30a3e83974);static int 
-DATARMNET882958a556(int cpu){cpumask_t DATARMNETaec9fb9581=walt_get_cpus_taken()
-;return cpumask_test_cpu(cpu,&DATARMNETaec9fb9581);}static void 
-DATARMNET6f7f8bf494(void){struct DATARMNET177911299b DATARMNETecb92a9ca5;
-DATARMNET1d4b1eff85(&DATARMNETecb92a9ca5,DATARMNETecc0627c70.DATARMNET7d667e828e
-,DATARMNETecc0627c70.DATARMNET7d667e828e);DATARMNETb5d58adbe7(&
-DATARMNETecb92a9ca5);}static void DATARMNETdb368d4fbd(void){cpumask_t 
-DATARMNETaec9fb9581;int DATARMNETda889fd34d;unsigned int DATARMNET9824ef7d49=
-(0xd2d+202-0xdf7);walt_get_cpus_in_state1(&DATARMNETaec9fb9581);for(
-DATARMNETda889fd34d=(0xd2d+202-0xdf7);DATARMNETda889fd34d<DATARMNETc6782fed88;
-DATARMNETda889fd34d++){if(cpumask_test_cpu(DATARMNETda889fd34d,&
-DATARMNETaec9fb9581)){DATARMNET9824ef7d49|=(0xd26+209-0xdf6)<<
-DATARMNETda889fd34d;}}if((DATARMNET9824ef7d49&((0xd26+209-0xdf6)<<
-DATARMNETbf1e2975c1))&&(DATARMNET9824ef7d49&((0xd26+209-0xdf6)<<
-DATARMNETea0e3bb99c))){if(DATARMNETecc0627c70.DATARMNET2f954f58f8!=
-(0xd11+230-0xdf3)){DATARMNETecc0627c70.DATARMNET2f954f58f8=(0xd11+230-0xdf3);
-DATARMNETecc0627c70.DATARMNETf510b48c29=(0xbc7+4849-0x1e1c);DATARMNETecc0627c70.
-DATARMNET637025ccc1=(0xeb7+705-0x1115);DATARMNET4793ed48af[DATARMNETbf1e2975c1]=
-DATARMNET9bc9e0cac3;DATARMNET4793ed48af[DATARMNETea0e3bb99c]=DATARMNET9bc9e0cac3
-;DATARMNET713717107f[DATARMNETbf1e2975c1]=DATARMNETb38cb72105;
-DATARMNET713717107f[DATARMNETea0e3bb99c]=DATARMNETb38cb72105;
+DATARMNET882958a556(int cpu){
+#if IS_ENABLED(CONFIG_SCHED_WALT)
+cpumask_t DATARMNETaec9fb9581=walt_get_cpus_taken();return cpumask_test_cpu(cpu,
+&DATARMNETaec9fb9581);
+#else
+return(0xd2d+202-0xdf7);
+#endif 
+}static void DATARMNET6f7f8bf494(void){struct DATARMNET177911299b 
+DATARMNETecb92a9ca5;DATARMNET1d4b1eff85(&DATARMNETecb92a9ca5,DATARMNETecc0627c70
+.DATARMNET7d667e828e,DATARMNETecc0627c70.DATARMNET7d667e828e);
+DATARMNETb5d58adbe7(&DATARMNETecb92a9ca5);}static void DATARMNETdb368d4fbd(void)
+{
+#if IS_ENABLED(CONFIG_SCHED_WALT)
+cpumask_t DATARMNETaec9fb9581={CPU_BITS_NONE};int DATARMNETda889fd34d;unsigned 
+int DATARMNET9824ef7d49=(0xd2d+202-0xdf7);if(walt_get_cpus_in_state1(&
+DATARMNETaec9fb9581)<(0xd2d+202-0xdf7))return;for(DATARMNETda889fd34d=
+(0xd2d+202-0xdf7);DATARMNETda889fd34d<DATARMNETc6782fed88;DATARMNETda889fd34d++)
+{if(cpumask_test_cpu(DATARMNETda889fd34d,&DATARMNETaec9fb9581)){
+DATARMNET9824ef7d49|=(0xd26+209-0xdf6)<<DATARMNETda889fd34d;}}if((
+DATARMNET9824ef7d49&((0xd26+209-0xdf6)<<DATARMNETbf1e2975c1))&&(
+DATARMNET9824ef7d49&((0xd26+209-0xdf6)<<DATARMNETea0e3bb99c))){if(((
+DATARMNETecc0627c70.DATARMNETf510b48c29&((0xd26+209-0xdf6)<<DATARMNETbf1e2975c1)
+)&&(DATARMNETecc0627c70.DATARMNETf510b48c29&((0xd26+209-0xdf6)<<
+DATARMNETea0e3bb99c)))){DATARMNETecc0627c70.DATARMNET637025ccc1|=
+(0xd26+209-0xdf6)<<DATARMNETbf1e2975c1;DATARMNETecc0627c70.DATARMNET637025ccc1|=
+(0xd26+209-0xdf6)<<DATARMNETea0e3bb99c;DATARMNETecc0627c70.DATARMNETf510b48c29=(
+(0xbf7+4364-0x1c04)^DATARMNETecc0627c70.DATARMNET637025ccc1);DATARMNETecc0627c70
+.DATARMNET2f954f58f8=hweight_long(DATARMNETecc0627c70.DATARMNET637025ccc1);
+DATARMNET4793ed48af[DATARMNETbf1e2975c1]=DATARMNET9bc9e0cac3;DATARMNET4793ed48af
+[DATARMNETea0e3bb99c]=DATARMNET9bc9e0cac3;DATARMNET713717107f[
+DATARMNETbf1e2975c1]=DATARMNETb38cb72105;DATARMNET713717107f[DATARMNETea0e3bb99c
+]=DATARMNETb38cb72105;trace_rmnet_shs_wq_low(DATARMNETf783febe14,
+DATARMNET94906cea05,DATARMNETecc0627c70.DATARMNETf510b48c29,(0x16e8+787-0xc0c),
+(0x16e8+787-0xc0c),(0x16e8+787-0xc0c),NULL,NULL);DATARMNETb7ddf3c5dd[
+DATARMNET706cd2d052]++;}}else{if(((DATARMNETecc0627c70.DATARMNET637025ccc1&(
+(0xd26+209-0xdf6)<<DATARMNETbf1e2975c1))&&(DATARMNETecc0627c70.
+DATARMNET637025ccc1&((0xd26+209-0xdf6)<<DATARMNETea0e3bb99c)))){
+DATARMNETecc0627c70.DATARMNETf510b48c29|=(0xd26+209-0xdf6)<<DATARMNETbf1e2975c1;
+DATARMNETecc0627c70.DATARMNETf510b48c29|=(0xd26+209-0xdf6)<<DATARMNETea0e3bb99c;
+DATARMNETecc0627c70.DATARMNET637025ccc1=((0xbf7+4364-0x1c04)^DATARMNETecc0627c70
+.DATARMNETf510b48c29);DATARMNETecc0627c70.DATARMNET2f954f58f8=hweight_long(
+DATARMNETecc0627c70.DATARMNET637025ccc1);DATARMNET4793ed48af[DATARMNETbf1e2975c1
+]=DATARMNET22feab5726;DATARMNET4793ed48af[DATARMNETea0e3bb99c]=
+DATARMNET22feab5726;DATARMNET713717107f[DATARMNETbf1e2975c1]=DATARMNET243c638e7d
+;DATARMNET713717107f[DATARMNETea0e3bb99c]=DATARMNET243c638e7d;
 trace_rmnet_shs_wq_low(DATARMNETf783febe14,DATARMNET94906cea05,
 DATARMNETecc0627c70.DATARMNETf510b48c29,(0x16e8+787-0xc0c),(0x16e8+787-0xc0c),
-(0x16e8+787-0xc0c),NULL,NULL);DATARMNETb7ddf3c5dd[DATARMNET706cd2d052]++;}}else{
-if(DATARMNETecc0627c70.DATARMNET2f954f58f8!=(0xd1f+216-0xdf5)){
-DATARMNETecc0627c70.DATARMNET2f954f58f8=(0xd1f+216-0xdf5);DATARMNETecc0627c70.
-DATARMNETf510b48c29=(0xc07+4369-0x1c1c);DATARMNETecc0627c70.DATARMNET637025ccc1=
-(0xd18+223-0xdf4);DATARMNET4793ed48af[DATARMNETbf1e2975c1]=DATARMNET22feab5726;
-DATARMNET4793ed48af[DATARMNETea0e3bb99c]=DATARMNET22feab5726;DATARMNET713717107f
-[DATARMNETbf1e2975c1]=DATARMNET243c638e7d;DATARMNET713717107f[
-DATARMNETea0e3bb99c]=DATARMNET243c638e7d;trace_rmnet_shs_wq_low(
-DATARMNETf783febe14,DATARMNET94906cea05,DATARMNETecc0627c70.DATARMNETf510b48c29,
-(0x16e8+787-0xc0c),(0x16e8+787-0xc0c),(0x16e8+787-0xc0c),NULL,NULL);
-DATARMNETb7ddf3c5dd[DATARMNETaac8ed4c2d]++;}}}static void DATARMNETae3b7a67f8(
-void){int DATARMNETda889fd34d=(0xd2d+202-0xdf7);int DATARMNETb9aecdfadd=
+(0x16e8+787-0xc0c),NULL,NULL);DATARMNETb7ddf3c5dd[DATARMNETaac8ed4c2d]++;}}
+#endif 
+}static void DATARMNETae3b7a67f8(void){
+#if IS_ENABLED(CONFIG_SCHED_WALT)
+int DATARMNETda889fd34d=(0xd2d+202-0xdf7);int DATARMNETb9aecdfadd=
 (0xd2d+202-0xdf7);int DATARMNET054dda278c=(0xd2d+202-0xdf7);int 
 DATARMNET09cb196c21=(0xd26+209-0xdf6);int DATARMNETcfb5dc7296;cpumask_t 
 DATARMNETaec9fb9581=walt_get_cpus_taken();if(!DATARMNET68dc14b50d)return;for(
@@ -94,40 +114,42 @@ DATARMNETbc3c416b77&~DATARMNETecc0627c70.DATARMNETba3f7a11ef&~
 DATARMNET121c8bc82a);if(DATARMNETcfb5dc7296>(0xd2d+202-0xdf7)){
 DATARMNET09cb196c21=DATARMNETcfb5dc7296;DATARMNETecc0627c70.DATARMNET5c24e1df05=
 DATARMNET09cb196c21;rcu_read_lock();RCU_INIT_POINTER(rmnet_shs_switch,
-DATARMNET756778f14f);rcu_read_unlock();}}}int DATARMNETdc7bead533(unsigned 
-DATARMNET42a992465f,unsigned DATARMNET435f2b5517){struct DATARMNET228056d4b7*
-DATARMNETf632b170b1;struct DATARMNETc8fdbf9c85*DATARMNET7bea4a06a6=&
-DATARMNET6cdd58e74c;if(DATARMNET42a992465f>=DATARMNETc6782fed88){
-DATARMNET68d84e7b98[DATARMNET54b67b8a75]++;return(0xd2d+202-0xdf7);}
-DATARMNETf632b170b1=&DATARMNET7bea4a06a6->DATARMNET73464778dc[
-DATARMNET42a992465f];return DATARMNETf632b170b1->DATARMNET324c1a8f98>
-DATARMNET435f2b5517;}void DATARMNETa6e92c3315(struct DATARMNET6c78e47d24*
-DATARMNETd2a694d52a){DATARMNETd2a694d52a->DATARMNETadd51beef4=(0xd2d+202-0xdf7);
-DATARMNETd2a694d52a->DATARMNET68714ac92c=(0xd2d+202-0xdf7);DATARMNETd2a694d52a->
-DATARMNET63b1a086d5=NULL;DATARMNETd2a694d52a->DATARMNET42ceaf5cc2=
-(0xd2d+202-0xdf7);DATARMNETd2a694d52a->DATARMNET4b4a76b094=(0xd2d+202-0xdf7);
-DATARMNETd2a694d52a->DATARMNETa7352711af=(0xd2d+202-0xdf7);DATARMNETd2a694d52a->
-rx_bytes=(0xd2d+202-0xdf7);DATARMNETd2a694d52a->DATARMNET324c1a8f98=
-(0xd2d+202-0xdf7);DATARMNETd2a694d52a->DATARMNETbb80fccd97=(0xd2d+202-0xdf7);
-DATARMNETd2a694d52a->DATARMNET0d682bcb29=(0xd2d+202-0xdf7);DATARMNETd2a694d52a->
-DATARMNET20e8fc9db8=(0xd2d+202-0xdf7);DATARMNETd2a694d52a->DATARMNETd34f4b12cd=
-(0xd2d+202-0xdf7);DATARMNETd2a694d52a->DATARMNET96e0dea53e=(0xd2d+202-0xdf7);
-DATARMNETd2a694d52a->DATARMNET3ecedac168=(0xd2d+202-0xdf7);DATARMNETd2a694d52a->
-DATARMNETce5f56eab9=(0xd2d+202-0xdf7);DATARMNETd2a694d52a->DATARMNET6edbc8b649=
-(0xd2d+202-0xdf7);DATARMNETd2a694d52a->DATARMNET77b978dd84=(0xd2d+202-0xdf7);
-DATARMNETd2a694d52a->DATARMNET3b7421773f=(0xd2d+202-0xdf7);DATARMNETd2a694d52a->
-DATARMNET29c6349349=(0xd2d+202-0xdf7);DATARMNETd2a694d52a->DATARMNETde6a309f37=
-(0xd2d+202-0xdf7);DATARMNETd2a694d52a->DATARMNET9fb369ce5f=(0xd2d+202-0xdf7);
-DATARMNETd2a694d52a->DATARMNET17f2abdf03=(0xd2d+202-0xdf7);DATARMNETd2a694d52a->
-DATARMNET399c840115=(0xd2d+202-0xdf7);DATARMNETd2a694d52a->DATARMNET1a1d89d417=
-(0xd2d+202-0xdf7);DATARMNETd2a694d52a->DATARMNETb932033f50=(0xd2d+202-0xdf7);
-DATARMNETd2a694d52a->hash=(0xd2d+202-0xdf7);DATARMNETd2a694d52a->
-DATARMNET6e1a4eaf09=(0xd2d+202-0xdf7);DATARMNETd2a694d52a->DATARMNET7c894c2f8f=
-(0xd2d+202-0xdf7);DATARMNETd2a694d52a->DATARMNET87636d0152=(0xd2d+202-0xdf7);
-DATARMNETd2a694d52a->DATARMNET1e9d25d9ff=(0xd2d+202-0xdf7);DATARMNETd2a694d52a->
-DATARMNETb5f5519502=(-(0xd26+209-0xdf6));DATARMNETd2a694d52a->bif=
-(0xd2d+202-0xdf7);DATARMNETd2a694d52a->ack_thresh=(0xd2d+202-0xdf7);
-INIT_LIST_HEAD(&DATARMNETd2a694d52a->DATARMNET742867e97a);DATARMNETd2a694d52a->
+DATARMNET756778f14f);rcu_read_unlock();}}
+#endif 
+}int DATARMNETdc7bead533(unsigned DATARMNET42a992465f,unsigned 
+DATARMNET435f2b5517){struct DATARMNET228056d4b7*DATARMNETf632b170b1;struct 
+DATARMNETc8fdbf9c85*DATARMNET7bea4a06a6=&DATARMNET6cdd58e74c;if(
+DATARMNET42a992465f>=DATARMNETc6782fed88){DATARMNET68d84e7b98[
+DATARMNET54b67b8a75]++;return(0xd2d+202-0xdf7);}DATARMNETf632b170b1=&
+DATARMNET7bea4a06a6->DATARMNET73464778dc[DATARMNET42a992465f];return 
+DATARMNETf632b170b1->DATARMNET324c1a8f98>DATARMNET435f2b5517;}void 
+DATARMNETa6e92c3315(struct DATARMNET6c78e47d24*DATARMNETd2a694d52a){
+DATARMNETd2a694d52a->DATARMNETadd51beef4=(0xd2d+202-0xdf7);DATARMNETd2a694d52a->
+DATARMNET68714ac92c=(0xd2d+202-0xdf7);DATARMNETd2a694d52a->DATARMNET63b1a086d5=
+NULL;DATARMNETd2a694d52a->DATARMNET42ceaf5cc2=(0xd2d+202-0xdf7);
+DATARMNETd2a694d52a->DATARMNET4b4a76b094=(0xd2d+202-0xdf7);DATARMNETd2a694d52a->
+DATARMNETa7352711af=(0xd2d+202-0xdf7);DATARMNETd2a694d52a->rx_bytes=
+(0xd2d+202-0xdf7);DATARMNETd2a694d52a->DATARMNET324c1a8f98=(0xd2d+202-0xdf7);
+DATARMNETd2a694d52a->DATARMNETbb80fccd97=(0xd2d+202-0xdf7);DATARMNETd2a694d52a->
+DATARMNET0d682bcb29=(0xd2d+202-0xdf7);DATARMNETd2a694d52a->DATARMNET20e8fc9db8=
+(0xd2d+202-0xdf7);DATARMNETd2a694d52a->DATARMNETd34f4b12cd=(0xd2d+202-0xdf7);
+DATARMNETd2a694d52a->DATARMNET96e0dea53e=(0xd2d+202-0xdf7);DATARMNETd2a694d52a->
+DATARMNET3ecedac168=(0xd2d+202-0xdf7);DATARMNETd2a694d52a->DATARMNETce5f56eab9=
+(0xd2d+202-0xdf7);DATARMNETd2a694d52a->DATARMNET6edbc8b649=(0xd2d+202-0xdf7);
+DATARMNETd2a694d52a->DATARMNET77b978dd84=(0xd2d+202-0xdf7);DATARMNETd2a694d52a->
+DATARMNET3b7421773f=(0xd2d+202-0xdf7);DATARMNETd2a694d52a->DATARMNET29c6349349=
+(0xd2d+202-0xdf7);DATARMNETd2a694d52a->DATARMNETde6a309f37=(0xd2d+202-0xdf7);
+DATARMNETd2a694d52a->DATARMNET9fb369ce5f=(0xd2d+202-0xdf7);DATARMNETd2a694d52a->
+DATARMNET17f2abdf03=(0xd2d+202-0xdf7);DATARMNETd2a694d52a->DATARMNET399c840115=
+(0xd2d+202-0xdf7);DATARMNETd2a694d52a->DATARMNET1a1d89d417=(0xd2d+202-0xdf7);
+DATARMNETd2a694d52a->DATARMNETb932033f50=(0xd2d+202-0xdf7);DATARMNETd2a694d52a->
+hash=(0xd2d+202-0xdf7);DATARMNETd2a694d52a->DATARMNET6e1a4eaf09=
+(0xd2d+202-0xdf7);DATARMNETd2a694d52a->DATARMNET7c894c2f8f=(0xd2d+202-0xdf7);
+DATARMNETd2a694d52a->DATARMNET87636d0152=(0xd2d+202-0xdf7);DATARMNETd2a694d52a->
+DATARMNET1e9d25d9ff=(0xd2d+202-0xdf7);DATARMNETd2a694d52a->DATARMNETb5f5519502=(
+-(0xd26+209-0xdf6));DATARMNETd2a694d52a->bif=(0xd2d+202-0xdf7);
+DATARMNETd2a694d52a->ack_thresh=(0xd2d+202-0xdf7);INIT_LIST_HEAD(&
+DATARMNETd2a694d52a->DATARMNET742867e97a);DATARMNETd2a694d52a->
 DATARMNET8a4e1d5aaa=(0xd2d+202-0xdf7);DATARMNETd2a694d52a->DATARMNET0dc393a345=
 (0xd2d+202-0xdf7);trace_rmnet_shs_wq_low(DATARMNET238d08f0df,DATARMNETb43d929c3b
 ,DATARMNETd2a694d52a->DATARMNET0bfc2b2c85,(0x16e8+787-0xc0c),(0x16e8+787-0xc0c),

+ 2 - 1
shs/rmnet_shs_wq.h

@@ -1,5 +1,5 @@
 /* Copyright (c) 2018-2021, The Linux Foundation. All rights reserved.
- * Copyright (c) 2022-2023 Qualcomm Innovation Center, Inc. All rights reserved.
+ * Copyright (c) 2022-2024 Qualcomm Innovation Center, Inc. All rights reserved.
  *
  * This program is free software; you can redistribute it and/or modify
  * it under the terms of the GNU General Public License version 2 and
@@ -17,6 +17,7 @@
 #include "rmnet_shs_config.h"
 #include "rmnet_shs.h"
 #include <linux/ktime.h>
+#include <linux/arch_topology.h>
 #define DATARMNETdfb4d931bc  (0xd2d+202-0xdf7)
 #define DATARMNETf0dc5ccb6f (0xd2d+202-0xdf7)
 #define rm_err(DATARMNET6c3cf5865b, ...)  \

+ 37 - 37
wlan/rmnet_wlan_fragment.c

@@ -192,43 +192,43 @@ else{DATARMNET248f120dd5=DATARMNETba232077da;}DATARMNET5ca94dbc3c(
 DATARMNET248f120dd5);DATARMNETc7c83f614f(DATARMNET63b1a086d5,true);goto 
 DATARMNETbf4095f79e;}DATARMNET07fc49caf2:DATARMNET63b1a086d5->
 DATARMNET7ed5754a5c=ERR_PTR(-EINVAL);DATARMNETc7c83f614f(DATARMNET63b1a086d5,
-true);DATARMNETbf4095f79e:return DATARMNET61c2303133;}int DATARMNET579f75aa50(
-struct sk_buff*DATARMNET543491eb0f,int DATARMNET611d08d671,struct 
-DATARMNETb89ecedefc*DATARMNET3396919a68,struct DATARMNET8d3c2559ca*
-DATARMNET2d4b4cfc9e)__must_hold(RCU){struct DATARMNETdadb4e2c65 
-DATARMNET54338da2ff={};struct iphdr*DATARMNET86f1f2cdc9=ip_hdr(
-DATARMNET543491eb0f);if(DATARMNET3396919a68->DATARMNET4924e79411!=IPPROTO_TCP&&
-DATARMNET3396919a68->DATARMNET4924e79411!=IPPROTO_UDP&&DATARMNET3396919a68->
-DATARMNET4924e79411!=IPPROTO_ESP)return-(0xd26+209-0xdf6);DATARMNET54338da2ff.
-DATARMNET0d956cc77a=(0xd11+230-0xdf3);DATARMNET54338da2ff.DATARMNETdfe430c2d6=
-DATARMNET86f1f2cdc9->saddr;DATARMNET54338da2ff.DATARMNET2cb607d686=
-DATARMNET86f1f2cdc9->daddr;DATARMNET54338da2ff.id=htonl((u32)ntohs(
-DATARMNET86f1f2cdc9->id));DATARMNET54338da2ff.DATARMNETb65c469a15=htons(
-DATARMNET86f1f2cdc9->frag_off)&IP_OFFSET;DATARMNET54338da2ff.DATARMNET611d08d671
-=(u16)DATARMNET611d08d671;return DATARMNET9d6ad3b16f(DATARMNET543491eb0f,
-DATARMNET3396919a68,&DATARMNET54338da2ff,DATARMNET2d4b4cfc9e);}int 
-DATARMNETaca8ca54ed(struct sk_buff*DATARMNET543491eb0f,int DATARMNET611d08d671,
-struct DATARMNETb89ecedefc*DATARMNET3396919a68,struct DATARMNET8d3c2559ca*
-DATARMNET2d4b4cfc9e)__must_hold(RCU){struct DATARMNETdadb4e2c65 
-DATARMNET54338da2ff={};struct ipv6hdr*DATARMNETbf55123e5b=ipv6_hdr(
-DATARMNET543491eb0f);struct frag_hdr*frag_hdr;unsigned int DATARMNET7b34b7b5be;
-if(DATARMNET3396919a68->DATARMNET4924e79411!=IPPROTO_TCP&&DATARMNET3396919a68->
-DATARMNET4924e79411!=IPPROTO_UDP&&DATARMNET3396919a68->DATARMNET4924e79411!=
-IPPROTO_ESP&&DATARMNET3396919a68->DATARMNET4924e79411!=NEXTHDR_FRAGMENT)return-
-(0xd26+209-0xdf6);if(DATARMNET24669a931d(DATARMNET543491eb0f,&
-DATARMNET7b34b7b5be,NEXTHDR_FRAGMENT,NULL,NULL)<(0xd2d+202-0xdf7))return-
-(0xd26+209-0xdf6);frag_hdr=(struct frag_hdr*)(DATARMNET543491eb0f->data+
-DATARMNET7b34b7b5be);DATARMNET54338da2ff.DATARMNET0d956cc77a=(0xd03+244-0xdf1);
-memcpy(&DATARMNET54338da2ff.DATARMNET815cbb4bf5,&DATARMNETbf55123e5b->saddr,
-sizeof(DATARMNETbf55123e5b->saddr));memcpy(&DATARMNET54338da2ff.
-DATARMNETc3f31215b7,&DATARMNETbf55123e5b->daddr,sizeof(DATARMNETbf55123e5b->
-daddr));DATARMNET54338da2ff.id=frag_hdr->identification;DATARMNET54338da2ff.
-DATARMNETb65c469a15=htons(frag_hdr->frag_off)&IP6_OFFSET;DATARMNET54338da2ff.
-DATARMNET611d08d671=(u16)DATARMNET611d08d671;if(DATARMNET3396919a68->
-DATARMNET4924e79411==NEXTHDR_FRAGMENT)DATARMNET54338da2ff.DATARMNET611d08d671+=
-sizeof(*frag_hdr);return DATARMNET9d6ad3b16f(DATARMNET543491eb0f,
-DATARMNET3396919a68,&DATARMNET54338da2ff,DATARMNET2d4b4cfc9e);}int 
-DATARMNET49c2c17e77(void){INIT_DELAYED_WORK(&DATARMNETa41953a37b.
+true);DATARMNETbf4095f79e:if(DATARMNET61c2303133)DATARMNETa9599f487c->tskey=
+(0xd2d+202-0xdf7);return DATARMNET61c2303133;}int DATARMNET579f75aa50(struct 
+sk_buff*DATARMNET543491eb0f,int DATARMNET611d08d671,struct DATARMNETb89ecedefc*
+DATARMNET3396919a68,struct DATARMNET8d3c2559ca*DATARMNET2d4b4cfc9e)__must_hold(
+RCU){struct DATARMNETdadb4e2c65 DATARMNET54338da2ff={};struct iphdr*
+DATARMNET86f1f2cdc9=ip_hdr(DATARMNET543491eb0f);if(DATARMNET3396919a68->
+DATARMNET4924e79411!=IPPROTO_TCP&&DATARMNET3396919a68->DATARMNET4924e79411!=
+IPPROTO_UDP&&DATARMNET3396919a68->DATARMNET4924e79411!=IPPROTO_ESP)return-
+(0xd26+209-0xdf6);DATARMNET54338da2ff.DATARMNET0d956cc77a=(0xd11+230-0xdf3);
+DATARMNET54338da2ff.DATARMNETdfe430c2d6=DATARMNET86f1f2cdc9->saddr;
+DATARMNET54338da2ff.DATARMNET2cb607d686=DATARMNET86f1f2cdc9->daddr;
+DATARMNET54338da2ff.id=htonl((u32)ntohs(DATARMNET86f1f2cdc9->id));
+DATARMNET54338da2ff.DATARMNETb65c469a15=htons(DATARMNET86f1f2cdc9->frag_off)&
+IP_OFFSET;DATARMNET54338da2ff.DATARMNET611d08d671=(u16)DATARMNET611d08d671;
+return DATARMNET9d6ad3b16f(DATARMNET543491eb0f,DATARMNET3396919a68,&
+DATARMNET54338da2ff,DATARMNET2d4b4cfc9e);}int DATARMNETaca8ca54ed(struct sk_buff
+*DATARMNET543491eb0f,int DATARMNET611d08d671,struct DATARMNETb89ecedefc*
+DATARMNET3396919a68,struct DATARMNET8d3c2559ca*DATARMNET2d4b4cfc9e)__must_hold(
+RCU){struct DATARMNETdadb4e2c65 DATARMNET54338da2ff={};struct ipv6hdr*
+DATARMNETbf55123e5b=ipv6_hdr(DATARMNET543491eb0f);struct frag_hdr*frag_hdr;
+unsigned int DATARMNET7b34b7b5be;if(DATARMNET3396919a68->DATARMNET4924e79411!=
+IPPROTO_TCP&&DATARMNET3396919a68->DATARMNET4924e79411!=IPPROTO_UDP&&
+DATARMNET3396919a68->DATARMNET4924e79411!=IPPROTO_ESP&&DATARMNET3396919a68->
+DATARMNET4924e79411!=NEXTHDR_FRAGMENT)return-(0xd26+209-0xdf6);if(
+DATARMNET24669a931d(DATARMNET543491eb0f,&DATARMNET7b34b7b5be,NEXTHDR_FRAGMENT,
+NULL,NULL)<(0xd2d+202-0xdf7))return-(0xd26+209-0xdf6);frag_hdr=(struct frag_hdr*
+)(DATARMNET543491eb0f->data+DATARMNET7b34b7b5be);DATARMNET54338da2ff.
+DATARMNET0d956cc77a=(0xd03+244-0xdf1);memcpy(&DATARMNET54338da2ff.
+DATARMNET815cbb4bf5,&DATARMNETbf55123e5b->saddr,sizeof(DATARMNETbf55123e5b->
+saddr));memcpy(&DATARMNET54338da2ff.DATARMNETc3f31215b7,&DATARMNETbf55123e5b->
+daddr,sizeof(DATARMNETbf55123e5b->daddr));DATARMNET54338da2ff.id=frag_hdr->
+identification;DATARMNET54338da2ff.DATARMNETb65c469a15=htons(frag_hdr->frag_off)
+&IP6_OFFSET;DATARMNET54338da2ff.DATARMNET611d08d671=(u16)DATARMNET611d08d671;if(
+DATARMNET3396919a68->DATARMNET4924e79411==NEXTHDR_FRAGMENT)DATARMNET54338da2ff.
+DATARMNET611d08d671+=sizeof(*frag_hdr);return DATARMNET9d6ad3b16f(
+DATARMNET543491eb0f,DATARMNET3396919a68,&DATARMNET54338da2ff,DATARMNET2d4b4cfc9e
+);}int DATARMNET49c2c17e77(void){INIT_DELAYED_WORK(&DATARMNETa41953a37b.
 DATARMNET190b4452e8,DATARMNETad2b7fd8f5);return(0xd2d+202-0xdf7);}void 
 DATARMNET8c0e010dfb(void){cancel_delayed_work_sync(&DATARMNETa41953a37b.
 DATARMNET190b4452e8);DATARMNETa41953a37b.DATARMNETcd94e0d3c7=true;

+ 11 - 10
wlan/rmnet_wlan_main.c

@@ -25,16 +25,17 @@
 #include "rmnet_wlan_stats.h"
 #include "rmnet_wlan_fragment.h"
 #include "rmnet_wlan_connection.h"
-static char*verinfo[]={"\x35\x66\x66\x38\x62\x34\x38\x34",
-"\x62\x33\x30\x63\x65\x32\x36\x36","\x37\x32\x39\x63\x61\x37\x33\x37",
-"\x66\x34\x35\x34\x32\x32\x62\x64","\x30\x32\x39\x33\x31\x66\x62\x66",
-"\x32\x31\x39\x38\x30\x64\x66\x62","\x61\x33\x31\x34\x63\x62\x32\x35",
-"\x34\x33\x62\x62\x38\x34\x39\x39","\x32\x66\x33\x36\x30\x30\x31\x34",
-"\x62\x64\x66\x66\x39\x32\x62\x33","\x34\x36\x35\x36\x30\x62\x31\x34",
-"\x64\x33\x37\x61\x30\x39\x63\x63","\x65\x32\x31\x38\x66\x34\x35\x31",
-"\x30\x65\x33\x34\x62\x31\x39\x31","\x39\x66\x33\x66\x31\x31\x33\x30",
-"\x62\x31\x62\x63\x64\x66\x66\x61"};module_param_array(verinfo,charp,NULL,
-(0xcb7+5769-0x221c));MODULE_PARM_DESC(verinfo,
+static char*verinfo[]={"\x63\x32\x30\x33\x65\x36\x39\x39",
+"\x35\x66\x66\x38\x62\x34\x38\x34","\x62\x33\x30\x63\x65\x32\x36\x36",
+"\x37\x32\x39\x63\x61\x37\x33\x37","\x66\x34\x35\x34\x32\x32\x62\x64",
+"\x30\x32\x39\x33\x31\x66\x62\x66","\x32\x31\x39\x38\x30\x64\x66\x62",
+"\x61\x33\x31\x34\x63\x62\x32\x35","\x34\x33\x62\x62\x38\x34\x39\x39",
+"\x32\x66\x33\x36\x30\x30\x31\x34","\x62\x64\x66\x66\x39\x32\x62\x33",
+"\x34\x36\x35\x36\x30\x62\x31\x34","\x64\x33\x37\x61\x30\x39\x63\x63",
+"\x65\x32\x31\x38\x66\x34\x35\x31","\x30\x65\x33\x34\x62\x31\x39\x31",
+"\x39\x66\x33\x66\x31\x31\x33\x30","\x62\x31\x62\x63\x64\x66\x66\x61"};
+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 DATARMNETaf49b04806 ((0xeb7+1158-0x132d))