net: rmnet_data: Support recycling frames to real device

For deaggregation, the real device receives a large linear skb and
passes it on to rmnet. rmnet creates new skbs from this large frame.

If the real device supports recycling, it does not need to allocate
the large skbs during packet reception and can instead reuse them.

CRs-Fixed: 2140499
Change-Id: I4f3c67bafe1918dc1a96690305d00cc8c625a9b7
Signed-off-by: Subash Abhinov Kasiviswanathan <subashab@codeaurora.org>
This commit is contained in:
Subash Abhinov Kasiviswanathan 2017-10-31 10:49:20 -06:00
parent bb3bb010ec
commit a445520d5d

View file

@ -77,6 +77,11 @@ void rmnet_kfree_skb(struct sk_buff *skb, unsigned int reason)
if (likely(skb)) {
struct rmnet_phys_ep_conf_s *config;
if (skb->destructor) {
skb->destructor(skb);
return;
}
config = (struct rmnet_phys_ep_conf_s *)rcu_dereference
(skb->dev->rx_handler_data);
if (likely(config))