diff options
| author | Harout Hedeshian <harouth@codeaurora.org> | 2013-10-25 15:07:47 -0600 |
|---|---|---|
| committer | David Keitel <dkeitel@codeaurora.org> | 2016-03-22 11:04:56 -0700 |
| commit | c514dd5ef401fdb515ecd9139d587b7b615d21e3 (patch) | |
| tree | 856019cfee786e506f36b55463f45d883f57f47a /net | |
| parent | 0f789efb3a122daecbb5dcf2df16f2943dd2603e (diff) | |
net: rmnet_data: Change aggregation copy mode for compat
Change SKB copy and delivery mode to fix certain error
modes when running ingress deaggregation
CRs-Fixed: 565123
Change-Id: If23cee6a0de6b189b2c528423df52555e1879bc3
Signed-off-by: Harout Hedeshian <harouth@codeaurora.org>
Diffstat (limited to 'net')
| -rw-r--r-- | net/rmnet_data/rmnet_data_handlers.c | 3 | ||||
| -rw-r--r-- | net/rmnet_data/rmnet_map_data.c | 4 |
2 files changed, 4 insertions, 3 deletions
diff --git a/net/rmnet_data/rmnet_data_handlers.c b/net/rmnet_data/rmnet_data_handlers.c index 5100db002f26..5e669cee9213 100644 --- a/net/rmnet_data/rmnet_data_handlers.c +++ b/net/rmnet_data/rmnet_data_handlers.c @@ -183,7 +183,8 @@ static rx_handler_result_t __rmnet_deliver_skb(struct sk_buff *skb, case RX_HANDLER_PASS: skb->pkt_type = PACKET_HOST; - return RX_HANDLER_ANOTHER; + netif_receive_skb(skb); + return RX_HANDLER_CONSUMED; } return RX_HANDLER_PASS; diff --git a/net/rmnet_data/rmnet_map_data.c b/net/rmnet_data/rmnet_map_data.c index f3f65c9a3f5f..7578f459231f 100644 --- a/net/rmnet_data/rmnet_map_data.c +++ b/net/rmnet_data/rmnet_map_data.c @@ -85,7 +85,7 @@ struct rmnet_map_header_s *rmnet_map_add_map_header(struct sk_buff *skb, * @config: Physical endpoint configuration of the ingress device * * Source skb is cloned with skb_clone(). The new skb data and tail pointers are - * modified to contain a single MAP frame. Clone happens with GFP_KERNEL flags + * modified to contain a single MAP frame. Clone happens with GFP_ATOMIC flags * set. User should keep calling deaggregate() on the source skb until 0 is * returned, indicating that there are no more packets to deaggregate. * @@ -111,7 +111,7 @@ struct sk_buff *rmnet_map_deaggregate(struct sk_buff *skb, return 0; } - skbn = skb_clone(skb, GFP_ATOMIC); + skbn = skb_copy(skb, GFP_ATOMIC); if (!skbn) return 0; |
