Explorar o código

rmnet_shs: I6ba475571f97275924996097b68e87e344b72312

I6ba475571f97275924996097b68e87e344b72312

CRs-Fixed: 3569537
Change-Id: I6ba475571f97275924996097b68e87e344b72312
Signed-off-by: Raul Martinez <[email protected]>
Raul Martinez hai 1 ano
pai
achega
befd43617e
Modificáronse 6 ficheiros con 170 adicións e 132 borrados
  1. 47 44
      shs/rmnet_shs.h
  2. 15 12
      shs/rmnet_shs_main.c
  3. 2 2
      shs/rmnet_shs_modules.c
  4. 61 31
      shs/rmnet_shs_wq.c
  5. 2 1
      shs/rmnet_shs_wq_mem.c
  6. 43 42
      shs/rmnet_shs_wq_mem.h

+ 47 - 44
shs/rmnet_shs.h

@@ -32,10 +32,10 @@
 #define DATARMNETe603c3a4b3 DATARMNETbfe1afe595
 #define DATARMNET25437d35fd 9
 #define DATARMNET4899358462 (0xeb7+1101-0x12f5)
-#define DATARMNET401583e606 (0xd1f+216-0xdf5)
+#define DATARMNET401583e606 DATARMNETecc0627c70.DATARMNET2f954f58f8
 #define DATARMNETc6782fed88  (0xd35+210-0xdff)
-#define DATARMNETbc3c416b77 (0xc07+4369-0x1c1c)    
-#define DATARMNET9273f84bf1 (0xd18+223-0xdf4) 
+#define DATARMNETbc3c416b77 DATARMNETecc0627c70.DATARMNETf510b48c29
+#define DATARMNET9273f84bf1 DATARMNETecc0627c70.DATARMNET637025ccc1
 #define DATARMNET12f3a261a0 ((0xc07+4861-0x1e3c))
 #define DATARMNETb91aee91fd -(0xd26+209-0xdf6)
 #define DATARMNET2edff26954 (0xd2d+202-0xdf7)
@@ -82,8 +82,9 @@ DATARMNET9c869c1ec2;u8 DATARMNETd9cfd2812b;u8 DATARMNETf5ab31b9b0;u8
 DATARMNET34097703c8;u8 DATARMNETfc89d842ae;u8 DATARMNET6fe0db3a49;u8 
 DATARMNETba3f7a11ef;u8 map_mask;u8 map_len;u8 DATARMNET5c24e1df05;u8 
 DATARMNET6625085b71;u16 DATARMNETfeee6933fc;u8 DATARMNET7d667e828e;u8 
-DATARMNETe250463eef;ktime_t DATARMNETdd3caf9200;struct wakeup_source*ws;};struct
- DATARMNETa034b2e60c{struct sk_buff*head;struct sk_buff*tail;u64 
+DATARMNETe250463eef;ktime_t DATARMNETdd3caf9200;struct wakeup_source*ws;u8 
+DATARMNET2f954f58f8;u8 DATARMNETf510b48c29;u8 DATARMNET637025ccc1;};struct 
+DATARMNETa034b2e60c{struct sk_buff*head;struct sk_buff*tail;u64 
 DATARMNETbaa5765693;u32 DATARMNET6215127f48;u32 DATARMNET35234676d4;};struct 
 DATARMNET63d7680df2{union{struct iphdr DATARMNETac9bbaad7c;struct ipv6hdr 
 DATARMNET1688a97aa4;}ip_hdr;union{struct tcphdr tp;struct udphdr up;}
@@ -105,34 +106,35 @@ DATARMNET67b67dc88f,DATARMNET0efbbe2821,DATARMNETa4267dfd8a,DATARMNETf13db5ace8,
 DATARMNETb6eae1e097,DATARMNET0e398136dc,DATARMNET975060d6b5,DATARMNET7f401828b3,
 DATARMNET6ea8a58f4e,DATARMNETcf84373518,DATARMNET6bf40b86f6,DATARMNET9f8bd72ee5,
 DATARMNET5eefd5051a,DATARMNET6d1e5ff045,DATARMNETf6458f40e6,DATARMNET438fb7f8f3,
-DATARMNET6fed39da20,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,};enum 
+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,
@@ -151,18 +153,19 @@ DATARMNET022082b219,DATARMNETe4ee0d2636,DATARMNET23b8465daf,DATARMNET052f49b190,
 DATARMNETfb753e521e,DATARMNET64b02f64c6,DATARMNET576793621a,DATARMNETc262b24b02,
 DATARMNET4ebbc01257,DATARMNET595eed6ea2,DATARMNETde090e8314,DATARMNETa593d87b38,
 DATARMNET8a2898988b,DATARMNET0709c9f764,DATARMNETae009376be,DATARMNET5994bb1411,
-DATARMNET623224aa0a,};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)(
+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_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 
+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 

+ 15 - 12
shs/rmnet_shs_main.c

@@ -40,16 +40,17 @@
 #include <linux/cpumask.h>
 #include <linux/icmp.h>
 #include <linux/inet.h>
-static char*verinfo[]={"\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[]={"\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
@@ -770,8 +771,10 @@ 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);for(
-DATARMNET0e4304d903=(0xd2d+202-0xdf7);DATARMNET0e4304d903<DATARMNETc6782fed88;
+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(

+ 2 - 2
shs/rmnet_shs_modules.c

@@ -27,13 +27,13 @@ DATARMNETcab56af6d5,
 "\x6d\x6f\x76\x69\x6e\x67\x20\x61\x76\x65\x72\x61\x67\x65\x20\x77\x65\x69\x67\x68\x74\x61\x67\x65"
 );unsigned long long DATARMNET713717107f[DATARMNETc6782fed88]__read_mostly={
 DATARMNETfbee9e182e,DATARMNETb38cb72105,DATARMNET243c638e7d,DATARMNET243c638e7d,
-DATARMNET243c638e7d,DATARMNET243c638e7d,DATARMNET243c638e7d,DATARMNET243c638e7d}
+DATARMNET243c638e7d,DATARMNETb38cb72105,DATARMNETb38cb72105,DATARMNET243c638e7d}
 ;module_param_array(DATARMNET713717107f,ullong,NULL,(0xdb7+6665-0x261c));
 MODULE_PARM_DESC(DATARMNET713717107f,
 "\x4d\x61\x78\x20\x70\x6b\x74\x73\x20\x63\x6f\x72\x65\x20\x63\x61\x6e\x20\x68\x61\x6e\x64\x6c\x65"
 );unsigned long long DATARMNET4793ed48af[DATARMNETc6782fed88]__read_mostly={
 DATARMNET9bc9e0cac3,DATARMNET9bc9e0cac3,DATARMNET22feab5726,DATARMNET22feab5726,
-DATARMNET22feab5726,DATARMNET22feab5726,DATARMNET22feab5726,DATARMNET22feab5726}
+DATARMNET22feab5726,DATARMNET9bc9e0cac3,DATARMNET9bc9e0cac3,DATARMNET22feab5726}
 ;module_param_array(DATARMNET4793ed48af,ullong,NULL,(0xdb7+6665-0x261c));
 MODULE_PARM_DESC(DATARMNET4793ed48af,
 "\x4d\x69\x6e\x20\x70\x6b\x74\x73\x20\x63\x6f\x72\x65\x20\x63\x61\x6e\x20\x68\x61\x6e\x64\x6c\x65"

+ 61 - 31
shs/rmnet_shs_wq.c

@@ -30,6 +30,8 @@ MODULE_LICENSE("\x47\x50\x4c\x20\x76\x32");
 #define DATARMNET53bef3c026 (0xd2d+202-0xdf7)
 #define DATARMNETc5db038c35 (0xd26+209-0xdf6)
 #define DATARMNET8853edc997 (0xd1f+216-0xdf5)
+#define DATARMNETbf1e2975c1 (0xd0a+237-0xdf2)
+#define DATARMNETea0e3bb99c (0xd03+244-0xdf1)
 #define DATARMNET81ec51f31c (0xef7+637-0x10f5)
 #define DATARMNET69be7dee16 15000
 #define DATARMNETc6f7fb02ea 34000
@@ -48,29 +50,57 @@ DATARMNET882958a556(int cpu){cpumask_t DATARMNETaec9fb9581=walt_get_cpus_taken()
 DATARMNET6f7f8bf494(void){struct DATARMNET177911299b DATARMNETecb92a9ca5;
 DATARMNET1d4b1eff85(&DATARMNETecb92a9ca5,DATARMNETecc0627c70.DATARMNET7d667e828e
 ,DATARMNETecc0627c70.DATARMNET7d667e828e);DATARMNETb5d58adbe7(&
-DATARMNETecb92a9ca5);}static void DATARMNETae3b7a67f8(void){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(DATARMNETda889fd34d=
-(0xd2d+202-0xdf7);DATARMNETda889fd34d<DATARMNET8853edc997;DATARMNETda889fd34d++)
-{if(cpumask_test_cpu(DATARMNETda889fd34d,&DATARMNETaec9fb9581)){
-DATARMNETb9aecdfadd++;DATARMNET054dda278c|=(0xd26+209-0xdf6)<<
-DATARMNETda889fd34d;}if(DATARMNETb9aecdfadd>=DATARMNET8853edc997){
-DATARMNET68d84e7b98[DATARMNETdfffcec2c8]++;break;}}DATARMNET121c8bc82a=
-DATARMNET054dda278c;if(((0xd26+209-0xdf6)<<DATARMNETecc0627c70.
-DATARMNET7d667e828e)&DATARMNET121c8bc82a){DATARMNETcfb5dc7296=
-DATARMNET362c14e98b(DATARMNETecc0627c70.map_mask&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>
+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;
+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=
+(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(
+DATARMNETda889fd34d=(0xd2d+202-0xdf7);DATARMNETda889fd34d<DATARMNET8853edc997;
+DATARMNETda889fd34d++){if(cpumask_test_cpu(DATARMNETda889fd34d,&
+DATARMNETaec9fb9581)){DATARMNETb9aecdfadd++;DATARMNET054dda278c|=
+(0xd26+209-0xdf6)<<DATARMNETda889fd34d;}if(DATARMNETb9aecdfadd>=
+DATARMNET8853edc997){DATARMNET68d84e7b98[DATARMNETdfffcec2c8]++;break;}}
+DATARMNET121c8bc82a=DATARMNET054dda278c;if(((0xd26+209-0xdf6)<<
+DATARMNETecc0627c70.DATARMNET7d667e828e)&DATARMNET121c8bc82a){
+DATARMNETcfb5dc7296=DATARMNET362c14e98b(DATARMNETecc0627c70.map_mask&
+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->
@@ -822,14 +852,14 @@ DATARMNET0997c5650d[DATARMNETc790ff30fc].seg++;}}rcu_read_unlock();}void
 DATARMNETcd6e26f0ad(void){struct timespec64 time;struct DATARMNET6c78e47d24*
 DATARMNETd2a694d52a=NULL;(void)ktime_get_boottime_ts64(&time);
 DATARMNETb3a4036d6d=DATARMNETe6671dbf38(time.tv_sec)+time.tv_nsec;
-DATARMNET039ac6d55d();DATARMNETe46c480d71();DATARMNETae3b7a67f8();if((
-DATARMNETd619186789&DATARMNET81ec51f31c)==DATARMNET81ec51f31c)
-DATARMNET6f7f8bf494();rcu_read_lock();list_for_each_entry_rcu(
-DATARMNETd2a694d52a,&DATARMNET9825511866,DATARMNET6de26f0feb){if(
-DATARMNETd2a694d52a->DATARMNET0dc393a345==(0xd2d+202-0xdf7))continue;if(
-DATARMNETd2a694d52a->DATARMNET63b1a086d5){DATARMNET9a7769cf21(
-DATARMNETd2a694d52a);DATARMNET5b2ed86112(DATARMNETd2a694d52a);if(
-DATARMNETc252c204a8){if(DATARMNETd2a694d52a->DATARMNET63b1a086d5->
+DATARMNET039ac6d55d();DATARMNETe46c480d71();DATARMNETae3b7a67f8();
+DATARMNETdb368d4fbd();if((DATARMNETd619186789&DATARMNET81ec51f31c)==
+DATARMNET81ec51f31c)DATARMNET6f7f8bf494();rcu_read_lock();
+list_for_each_entry_rcu(DATARMNETd2a694d52a,&DATARMNET9825511866,
+DATARMNET6de26f0feb){if(DATARMNETd2a694d52a->DATARMNET0dc393a345==
+(0xd2d+202-0xdf7))continue;if(DATARMNETd2a694d52a->DATARMNET63b1a086d5){
+DATARMNET9a7769cf21(DATARMNETd2a694d52a);DATARMNET5b2ed86112(DATARMNETd2a694d52a
+);if(DATARMNETc252c204a8){if(DATARMNETd2a694d52a->DATARMNET63b1a086d5->
 DATARMNET80eb31d7b8){DATARMNET312b06829d(DATARMNETd2a694d52a,&
 DATARMNET922b4752e2);}else{DATARMNET6f4b0915d3(DATARMNETd2a694d52a,&
 DATARMNET3208cd0982);}if(!DATARMNET362b15f941(DATARMNETd2a694d52a->

+ 2 - 1
shs/rmnet_shs_wq_mem.c

@@ -448,7 +448,8 @@ DATARMNETace28a2c7f->DATARMNET4da6031170;DATARMNET63c47f3c37[idx].
 DATARMNET18b7a5b761=DATARMNETace28a2c7f->DATARMNET18b7a5b761;DATARMNET63c47f3c37
 [idx].DATARMNET4df302dbd6=DATARMNETace28a2c7f->DATARMNET4df302dbd6;
 DATARMNET63c47f3c37[idx].DATARMNET42a992465f=DATARMNETace28a2c7f->
-DATARMNET42a992465f;idx+=(0xd26+209-0xdf6);}rm_err(
+DATARMNET42a992465f;DATARMNET63c47f3c37[idx].DATARMNETf510b48c29=
+DATARMNETecc0627c70.DATARMNETf510b48c29;idx+=(0xd26+209-0xdf6);}rm_err(
 "\x53\x48\x53\x5f\x4d\x45\x4d\x3a\x20\x63\x61\x70\x5f\x64\x6d\x61\x5f\x70\x74\x72\x20\x3d\x20\x30\x78\x25\x6c\x6c\x78\x20\x61\x64\x64\x72\x20\x3d\x20\x30\x78\x25\x70\x4b" "\n"
 ,(unsigned long long)virt_to_phys((void*)DATARMNET410036d5ac),
 DATARMNET410036d5ac);if(!DATARMNET410036d5ac){rm_err("\x25\x73",

+ 43 - 42
shs/rmnet_shs_wq_mem.h

@@ -36,51 +36,52 @@
 #define DATARMNET9ae5f81f71 ((0xeb7+1158-0x132d))
 #define DATARMNET29d29f44cf ((0xd2d+202-0xdf7))
 struct __attribute__((__packed__))DATARMNET33582f7450{u64 DATARMNET18b7a5b761;
-u64 DATARMNET4da6031170;u64 DATARMNET4df302dbd6;u16 DATARMNET42a992465f;};struct
- __attribute__((__packed__))DATARMNET661e7a8566{int DATARMNET68a58889b0[
-(0xd18+223-0xdf4)];int DATARMNET1c7c913c7b[(0xd18+223-0xdf4)];};struct 
-__attribute__((__packed__))DATARMNETf44cda1bf2{u64 DATARMNET324c1a8f98;u64 
-DATARMNET253a9fc708;u64 DATARMNETbb80fccd97;u32 hash;u16 DATARMNET42a992465f;};
-struct __attribute__((__packed__))DATARMNET3a84fbfeae{u64 DATARMNET324c1a8f98;
-u64 DATARMNET253a9fc708;u64 DATARMNETbb80fccd97;u32 hash;u32 bif;u32 ack_thresh;
-u16 DATARMNET42a992465f;};struct __attribute__((__packed__))DATARMNET26737fb11e{
+u64 DATARMNET4da6031170;u64 DATARMNET4df302dbd6;u16 DATARMNET42a992465f;u8 
+DATARMNETf510b48c29;};struct __attribute__((__packed__))DATARMNET661e7a8566{int 
+DATARMNET68a58889b0[(0xd18+223-0xdf4)];int DATARMNET1c7c913c7b[(0xd18+223-0xdf4)
+];};struct __attribute__((__packed__))DATARMNETf44cda1bf2{u64 
+DATARMNET324c1a8f98;u64 DATARMNET253a9fc708;u64 DATARMNETbb80fccd97;u32 hash;u16
+ DATARMNET42a992465f;};struct __attribute__((__packed__))DATARMNET3a84fbfeae{u64
+ DATARMNET324c1a8f98;u64 DATARMNET253a9fc708;u64 DATARMNETbb80fccd97;u32 hash;
+u32 bif;u32 ack_thresh;u16 DATARMNET42a992465f;};struct __attribute__((
+__packed__))DATARMNET26737fb11e{union{struct iphdr DATARMNETac9bbaad7c;struct 
+ipv6hdr DATARMNET1688a97aa4;}ip_hdr;union{struct tcphdr tp;struct udphdr up;}
+DATARMNETe33b41dad9;u64 DATARMNET324c1a8f98;u64 DATARMNET253a9fc708;u64 
+DATARMNETbb80fccd97;u64 DATARMNET95266642d1;u64 DATARMNET0d682bcb29;u64 
+DATARMNET20e8fc9db8;u32 hash;u16 DATARMNET42a992465f;u16 trans_proto;u8 mux_id;
+u8 DATARMNETda8e8ae7ed;};struct __attribute__((__packed__))DATARMNETc13d990bf1{
 union{struct iphdr DATARMNETac9bbaad7c;struct ipv6hdr DATARMNET1688a97aa4;}
 ip_hdr;union{struct tcphdr tp;struct udphdr up;}DATARMNETe33b41dad9;u64 
 DATARMNET324c1a8f98;u64 DATARMNET253a9fc708;u64 DATARMNETbb80fccd97;u64 
 DATARMNET95266642d1;u64 DATARMNET0d682bcb29;u64 DATARMNET20e8fc9db8;u32 hash;u16
- DATARMNET42a992465f;u16 trans_proto;u8 mux_id;u8 DATARMNETda8e8ae7ed;};struct 
-__attribute__((__packed__))DATARMNETc13d990bf1{union{struct iphdr 
-DATARMNETac9bbaad7c;struct ipv6hdr DATARMNET1688a97aa4;}ip_hdr;union{struct 
-tcphdr tp;struct udphdr up;}DATARMNETe33b41dad9;u64 DATARMNET324c1a8f98;u64 
-DATARMNET253a9fc708;u64 DATARMNETbb80fccd97;u64 DATARMNET95266642d1;u64 
-DATARMNET0d682bcb29;u64 DATARMNET20e8fc9db8;u32 hash;u16 DATARMNET42a992465f;u16
- trans_proto;u8 mux_id;};struct __attribute__((__packed__))DATARMNET57ccbe14f3{
-char name[DATARMNET9ae5f81f71];u64 DATARMNET77de6e34f2;u64 hw_evict;u64 
-DATARMNET870c3dafcb;u64 coal_tcp;u64 coal_tcp_bytes;u64 coal_udp;u64 
-coal_udp_bytes;u64 DATARMNET257fc4b2d4;u64 DATARMNET4eb77c78e6;u64 pb_marker_seq
-;u8 mux_id;};extern struct list_head DATARMNET6c23f11e81;extern struct list_head
- DATARMNETf91b305f4e;extern struct list_head DATARMNET3208cd0982;extern struct 
-list_head DATARMNET922b4752e2;extern struct list_head DATARMNETe46ae760db;enum{
-DATARMNETbd4083a6a4=(0x24f5+499-0x16e8)};struct DATARMNETa41d4c4a12{char*data;
-refcount_t refcnt;};void DATARMNET28a80d526e(struct DATARMNET6c78e47d24*
-DATARMNETd2a694d52a,struct list_head*DATARMNETf0fb155a9c);void 
-DATARMNET24e4475345(struct DATARMNET6c78e47d24*DATARMNETd2a694d52a,struct 
-list_head*DATARMNETb436c3f30b);void DATARMNET6f4b0915d3(struct 
-DATARMNET6c78e47d24*DATARMNETd2a694d52a,struct list_head*DATARMNET3208cd0982);
-void DATARMNET312b06829d(struct DATARMNET6c78e47d24*DATARMNETd2a694d52a,struct 
-list_head*DATARMNET922b4752e2);void DATARMNETa1b141715b(struct list_head*
-DATARMNETb436c3f30b);void DATARMNET3af54cd726(struct list_head*
-DATARMNETf0fb155a9c);void DATARMNETcc489fbbad(struct list_head*
-DATARMNET3208cd0982);void DATARMNETf7730d41c1(struct list_head*
-DATARMNET922b4752e2);void DATARMNETc6439e3d71(struct DATARMNETc8fdbf9c85*
-DATARMNET7bea4a06a6,struct DATARMNET228056d4b7*DATARMNETf632b170b1,struct 
-list_head*DATARMNETe46ae760db);void DATARMNETb177316a15(struct list_head*
-DATARMNETe46ae760db);void DATARMNET5157210c44(struct list_head*
-DATARMNETe46ae760db);void DATARMNET0e273eab79(struct list_head*
-DATARMNETb436c3f30b);void DATARMNETe15af8eb6d(struct list_head*
-DATARMNETf0fb155a9c);void DATARMNET78f3a0ca4f(struct list_head*
-DATARMNET3208cd0982);void DATARMNETa3d6c4072d(struct list_head*
-DATARMNET922b4752e2);void DATARMNET78666f33a1(void);void DATARMNETf5f83b943f(
-void);void DATARMNET28d33bd09f(void);
+ DATARMNET42a992465f;u16 trans_proto;u8 mux_id;};struct __attribute__((
+__packed__))DATARMNET57ccbe14f3{char name[DATARMNET9ae5f81f71];u64 
+DATARMNET77de6e34f2;u64 hw_evict;u64 DATARMNET870c3dafcb;u64 coal_tcp;u64 
+coal_tcp_bytes;u64 coal_udp;u64 coal_udp_bytes;u64 DATARMNET257fc4b2d4;u64 
+DATARMNET4eb77c78e6;u64 pb_marker_seq;u8 mux_id;};extern struct list_head 
+DATARMNET6c23f11e81;extern struct list_head DATARMNETf91b305f4e;extern struct 
+list_head DATARMNET3208cd0982;extern struct list_head DATARMNET922b4752e2;extern
+ struct list_head DATARMNETe46ae760db;enum{DATARMNETbd4083a6a4=
+(0x24f5+499-0x16e8)};struct DATARMNETa41d4c4a12{char*data;refcount_t refcnt;};
+void DATARMNET28a80d526e(struct DATARMNET6c78e47d24*DATARMNETd2a694d52a,struct 
+list_head*DATARMNETf0fb155a9c);void DATARMNET24e4475345(struct 
+DATARMNET6c78e47d24*DATARMNETd2a694d52a,struct list_head*DATARMNETb436c3f30b);
+void DATARMNET6f4b0915d3(struct DATARMNET6c78e47d24*DATARMNETd2a694d52a,struct 
+list_head*DATARMNET3208cd0982);void DATARMNET312b06829d(struct 
+DATARMNET6c78e47d24*DATARMNETd2a694d52a,struct list_head*DATARMNET922b4752e2);
+void DATARMNETa1b141715b(struct list_head*DATARMNETb436c3f30b);void 
+DATARMNET3af54cd726(struct list_head*DATARMNETf0fb155a9c);void 
+DATARMNETcc489fbbad(struct list_head*DATARMNET3208cd0982);void 
+DATARMNETf7730d41c1(struct list_head*DATARMNET922b4752e2);void 
+DATARMNETc6439e3d71(struct DATARMNETc8fdbf9c85*DATARMNET7bea4a06a6,struct 
+DATARMNET228056d4b7*DATARMNETf632b170b1,struct list_head*DATARMNETe46ae760db);
+void DATARMNETb177316a15(struct list_head*DATARMNETe46ae760db);void 
+DATARMNET5157210c44(struct list_head*DATARMNETe46ae760db);void 
+DATARMNET0e273eab79(struct list_head*DATARMNETb436c3f30b);void 
+DATARMNETe15af8eb6d(struct list_head*DATARMNETf0fb155a9c);void 
+DATARMNET78f3a0ca4f(struct list_head*DATARMNET3208cd0982);void 
+DATARMNETa3d6c4072d(struct list_head*DATARMNET922b4752e2);void 
+DATARMNET78666f33a1(void);void DATARMNETf5f83b943f(void);void 
+DATARMNET28d33bd09f(void);
 #endif