rmnet_core: Discard DL markers received over LL channel

DL markers received over this channel need to be silently dropped, as
processing them will interfere with the standard DL marker processing on
the default channel.

Change-Id: Id6b36c3f877bf15768e3ac0a5ea8803656375a2b
Signed-off-by: Sean Tranchetti <stranche@codeaurora.org>
Cette révision appartient à :
Sean Tranchetti
2021-03-04 14:14:46 -08:00
révisé par Subash Abhinov Kasiviswanathan
Parent aeba491583
révision 9e18715d96
2 fichiers modifiés avec 16 ajouts et 0 suppressions

Voir le fichier

@@ -545,6 +545,12 @@ int rmnet_frag_flow_command(struct rmnet_frag_descriptor *frag_desc,
if (!cmd)
return -1;
/* Silently discard any marksers recived over the LL channel */
if (frag_desc->priority == 0xda1a &&
(cmd->command_name == RMNET_MAP_COMMAND_FLOW_START ||
cmd->command_name == RMNET_MAP_COMMAND_FLOW_END))
return 0;
switch (cmd->command_name) {
case RMNET_MAP_COMMAND_FLOW_START:
rmnet_frag_process_flow_start(frag_desc, cmd, port, pkt_len);

Voir le fichier

@@ -243,6 +243,16 @@ int rmnet_map_flow_command(struct sk_buff *skb, struct rmnet_port *port,
cmd = rmnet_map_get_cmd_start(skb);
command_name = cmd->command_name;
/* Silently discard any markers on the LL channel */
if (skb->priority == 0xda1a &&
(command_name == RMNET_MAP_COMMAND_FLOW_START ||
command_name == RMNET_MAP_COMMAND_FLOW_END)) {
if (!rmnet_perf)
consume_skb(skb);
return 0;
}
switch (command_name) {
case RMNET_MAP_COMMAND_FLOW_START:
rmnet_map_process_flow_start(skb, port, rmnet_perf);