ndis: Add debug support to disable RNDIS Multipacket Feature

This change adds module param which allows to disable RNDIS
Multi-packet Feature (Aggregation support in Downlink path)
as this feature is enabled by default.

To disable use this param before moving to RNDIS Composition:
echo 1 > /sys/module/g_android/parameters/rndis_multipacket_dl_disable

Also counts errors as Rx errors if received RNDIS packets are
not following RNDIS message format as those packets are being
discarded.

Change-Id: I764430da78f2204af92e14bb279c11b24c7e4c67
Signed-off-by: Mayank Rana <mrana@codeaurora.org>
This commit is contained in:
Badhri Jagan Sridharan 2014-09-18 10:48:48 -07:00 committed by John Stultz
parent debf5d6eac
commit c3d7f0cdd2
2 changed files with 6 additions and 0 deletions

View file

@ -480,6 +480,8 @@ static void rndis_command_complete(struct usb_ep *ep, struct usb_request *req)
__func__, buf->MaxTransferSize,
rndis->port.multi_pkt_xfer ? "enabled" :
"disabled");
if (rndis_multipacket_dl_disable)
rndis->port.multi_pkt_xfer = 0;
}
// spin_unlock(&dev->lock);
}

View file

@ -296,6 +296,10 @@ static void rx_complete(struct usb_ep *ep, struct usb_request *req)
status = dev->unwrap(dev->port_usb,
skb,
&dev->rx_frames);
if (status == -EINVAL)
dev->net->stats.rx_errors++;
else if (status == -EOVERFLOW)
dev->net->stats.rx_over_errors++;
} else {
dev_kfree_skb_any(skb);
status = -ENOTCONN;