rmnet_offload: I721bd69521fe4aa8daebefb280d8d1509f91e673

Update module to version I721bd69521fe4aa8daebefb280d8d1509f91e673

Change-Id: I321b1be25fbed91b164c9fae9b606a2d87b62c92
This commit is contained in:
Sean Tranchetti
2020-05-26 17:43:00 -06:00
committed by Subash Abhinov Kasiviswanathan
parent 88335da291
commit 670ea10293
20 changed files with 992 additions and 0 deletions

View File

@@ -0,0 +1,100 @@
/* Copyright (c) 2018-2020, The Linux Foundation. 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
* only version 2 as published by the Free Software Foundation.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*/
#include <linux/module.h>
#include <linux/netdevice.h>
#include "rmnet_map.h"
#include "rmnet_private.h"
#include "qmi_rmnet.h"
#include "rmnet_offload_state.h"
#include "rmnet_offload_engine.h"
MODULE_LICENSE("\x47\x50\x4c\x20\x76\x32");
#define DATARMNET47b52951b8 (0x68d+4280-0x1745)
static struct DATARMNET8357daf015*DATARMNETf7e8f6395c;static void
DATARMNET39b47bda29(void){struct rmnet_port*DATARMNETe8a5f322f0=
DATARMNETf7e8f6395c->DATARMNET547651077b;struct DATARMNET92f4d48c56*
DATARMNET18063ff0ab;qmi_rmnet_ps_ind_deregister(DATARMNETe8a5f322f0,&
DATARMNETf7e8f6395c->DATARMNETa0db7ef12a);DATARMNET18063ff0ab=&
DATARMNETf7e8f6395c->DATARMNETfe5583a585;if(DATARMNET18063ff0ab->
DATARMNETf82a9c29ed)rmnet_map_dl_ind_deregister(DATARMNETe8a5f322f0,&
DATARMNET18063ff0ab->DATARMNET524c210c13);}static void DATARMNET296eb47249(void)
{if(!DATARMNETf7e8f6395c)return;DATARMNET39b47bda29();DATARMNET848914898b();
DATARMNET28dfa538f2();DATARMNET54fd6bf483();DATARMNETde815547a0();kfree(
DATARMNETf7e8f6395c);DATARMNETf7e8f6395c=NULL;}static int DATARMNETd813fadf76(
void){struct rmnet_port*DATARMNETe8a5f322f0=DATARMNETf7e8f6395c->
DATARMNET547651077b;struct qmi_rmnet_ps_ind*DATARMNET83359ae71d;struct
DATARMNET92f4d48c56*DATARMNET18063ff0ab;struct rmnet_map_dl_ind*
DATARMNET524c210c13;int DATARMNET094475d445=DATARMNET6e89887168;
DATARMNET83359ae71d=&DATARMNETf7e8f6395c->DATARMNETa0db7ef12a;
DATARMNET83359ae71d->ps_on_handler=DATARMNETfaa320a86a;DATARMNET83359ae71d->
ps_off_handler=DATARMNET6b57fa3471;if(qmi_rmnet_ps_ind_register(
DATARMNETe8a5f322f0,DATARMNET83359ae71d)){DATARMNET094475d445=
DATARMNETee330d5a81;pr_warn(
"\x25\x73\x28\x29\x3a\x20\x50\x53\x20\x43\x42\x20\x72\x65\x67\x69\x73\x74\x72\x61\x74\x69\x6f\x6e\x20\x66\x61\x69\x6c\x65\x64" "\n"
,__func__);}if(DATARMNETe8a5f322f0->data_format&
RMNET_INGRESS_FORMAT_DL_MARKER_V2){DATARMNET18063ff0ab=&DATARMNETf7e8f6395c->
DATARMNETfe5583a585;DATARMNET524c210c13=&DATARMNET18063ff0ab->
DATARMNET524c210c13;DATARMNET524c210c13->priority=DATARMNET47b52951b8;
DATARMNET524c210c13->dl_hdr_handler_v2=DATARMNET4aefca6d3c;DATARMNET524c210c13->
dl_trl_handler_v2=DATARMNET94edfae28d;if(rmnet_map_dl_ind_register(
DATARMNETe8a5f322f0,DATARMNET524c210c13)){DATARMNETafcdd1146f();
DATARMNET094475d445=DATARMNETee330d5a81;pr_warn(
"\x25\x73\x28\x29\x3a\x20\x44\x4c\x20\x43\x42\x20\x72\x65\x67\x69\x73\x74\x72\x61\x74\x61\x74\x69\x6f\x6e\x20\x66\x61\x69\x6c\x65\x64" "\n"
,__func__);}else{DATARMNET18063ff0ab->DATARMNETf82a9c29ed=true;}}else{
DATARMNETafcdd1146f();DATARMNET094475d445=DATARMNETee330d5a81;pr_warn(
"\x25\x73\x28\x29\x3a\x20\x44\x4c\x20\x6e\x6f\x74\x20\x65\x6e\x61\x62\x6c\x65\x64" "\n"
,__func__);}return DATARMNET094475d445;}static int DATARMNETbe48169564(struct
rmnet_port*DATARMNETe8a5f322f0){int DATARMNET094475d445;DATARMNETf7e8f6395c=
kzalloc(sizeof(*DATARMNETf7e8f6395c),GFP_KERNEL);if(!DATARMNETf7e8f6395c){pr_err
(
"\x25\x73\x28\x29\x3a\x20\x52\x65\x73\x6f\x75\x72\x63\x65\x20\x61\x6c\x6c\x6f\x63\x61\x74\x69\x6f\x6e\x20\x66\x61\x69\x6c\x65\x64" "\n"
,__func__);return DATARMNETc50a12ee59;}DATARMNETf7e8f6395c->DATARMNET547651077b=
DATARMNETe8a5f322f0;DATARMNET094475d445=DATARMNETcce014cb1d();if(
DATARMNET094475d445<(0x15bb+934-0x1961))goto DATARMNET77e7361053;
DATARMNET094475d445=DATARMNETd813fadf76();if(DATARMNET094475d445!=
DATARMNET6e89887168){pr_warn(
"\x25\x73\x28\x29\x3a\x20\x43\x61\x6c\x6c\x62\x61\x63\x6b\x20\x72\x65\x67\x69\x73\x74\x72\x61\x74\x69\x6f\x6e\x20\x66\x61\x69\x6c\x65\x64" "\n"
,__func__);}DATARMNETd9ec5f4e65();return DATARMNET094475d445;DATARMNET77e7361053
:kfree(DATARMNETf7e8f6395c);DATARMNETf7e8f6395c=NULL;return DATARMNET094475d445;
}static int DATARMNETe4f68c17d0(struct notifier_block*DATARMNET9e976b309a,
unsigned long DATARMNET081daa57e7,void*DATARMNET71ffe74cda){struct net_device*
DATARMNET6db6ebb1e7=netdev_notifier_info_to_dev(DATARMNET71ffe74cda);struct
rmnet_port*DATARMNETe8a5f322f0;struct rmnet_priv*DATARMNET64e0e8cc28;int
DATARMNET094475d445;(void)DATARMNET9e976b309a;if(!DATARMNET6db6ebb1e7)goto
DATARMNET02a8afcd23;switch(DATARMNET081daa57e7){case NETDEV_REGISTER:if(
DATARMNETf7e8f6395c||DATARMNET4e490d9d37()||strncmp(DATARMNET6db6ebb1e7->name,
"\x72\x6d\x6e\x65\x74\x5f\x64\x61\x74\x61",(0xeab+5835-0x256c)))goto
DATARMNET02a8afcd23;DATARMNET64e0e8cc28=netdev_priv(DATARMNET6db6ebb1e7);
DATARMNETe8a5f322f0=rmnet_get_port(DATARMNET64e0e8cc28->real_dev);if(!
DATARMNETe8a5f322f0){pr_err(
"\x25\x73\x28\x29\x3a\x20\x49\x6e\x76\x61\x6c\x69\x64\x20\x72\x6d\x6e\x65\x74\x20\x63\x6f\x6e\x66\x69\x67\x75\x72\x61\x74\x69\x6f\x6e\x20\x6f\x6e\x20\x25\x73" "\n"
,__func__,DATARMNET6db6ebb1e7->name);goto DATARMNET02a8afcd23;}pr_info(
"\x25\x73\x28\x29\x3a\x20\x49\x6e\x69\x74\x69\x61\x6c\x69\x7a\x69\x6e\x67\x20\x6f\x6e\x20\x64\x65\x76\x69\x63\x65\x20\x25\x73" "\n"
,__func__,DATARMNET6db6ebb1e7->name);DATARMNET094475d445=DATARMNETbe48169564(
DATARMNETe8a5f322f0);if(DATARMNET094475d445==DATARMNETc50a12ee59){pr_err(
"\x25\x73\x28\x29\x3a\x20\x49\x6e\x69\x74\x69\x61\x6c\x69\x7a\x61\x74\x69\x6f\x6e\x20\x66\x61\x69\x6c\x65\x64" "\n"
,__func__);goto DATARMNET02a8afcd23;}break;case NETDEV_UNREGISTER:if(!
DATARMNETf7e8f6395c||!DATARMNET4e490d9d37()||strncmp(DATARMNET6db6ebb1e7->name,
DATARMNETf7e8f6395c->DATARMNET547651077b->dev->name,IFNAMSIZ))goto
DATARMNET02a8afcd23;pr_info(
"\x25\x73\x28\x29\x3a\x20\x55\x6e\x69\x6e\x69\x74\x69\x61\x6c\x69\x7a\x69\x6e\x67\x20\x6f\x6e\x20\x64\x65\x76\x69\x63\x65\x20\x25\x73" "\n"
,__func__,DATARMNET6db6ebb1e7->name);DATARMNET296eb47249();break;}
DATARMNET02a8afcd23:return NOTIFY_DONE;}static struct notifier_block
DATARMNET4dff0c2c8a={.notifier_call=DATARMNETe4f68c17d0,.priority=
(0xc93+6150-0x2498),};static int __init DATARMNET99216255df(void){pr_info(
"\x25\x73\x28\x29\x3a\x20\x72\x6d\x6e\x65\x74\x5f\x6f\x66\x66\x6c\x6f\x61\x64\x20\x69\x6e\x69\x74\x69\x61\x6c\x69\x7a\x69\x6e\x67" "\n"
,__func__);return register_netdevice_notifier(&DATARMNET4dff0c2c8a);}static void
__exit DATARMNET16134ceac1(void){pr_info(
"\x25\x73\x28\x29\x3a\x20\x72\x6d\x6e\x65\x74\x5f\x6f\x66\x66\x6c\x6f\x61\x64\x20\x65\x78\x69\x74\x69\x6e\x67" "\n"
,__func__);unregister_netdevice_notifier(&DATARMNET4dff0c2c8a);}struct
DATARMNET8357daf015*DATARMNETccc25794e0(void){return DATARMNETf7e8f6395c;}
module_init(DATARMNET99216255df);module_exit(DATARMNET16134ceac1);