[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <87h9fex0ql.fsf@nemi.mork.no>
Date: Wed, 06 Apr 2016 16:36:50 +0200
From: Bjørn Mork <bjorn@...k.no>
To: Robert Dobrowolski <robert.dobrowolski@...ux.intel.com>
Cc: linux-usb@...r.kernel.org, rafal.f.redzimski@...el.com,
stable@...r.kernel.org, oliver@...kum.org, netdev@...r.kernel.org,
linux-kernel@...r.kernel.org
Subject: Re: [PATCH v1] net: cdc_ncm: update datagram size after changing mtu
Robert Dobrowolski <robert.dobrowolski@...ux.intel.com> writes:
> From: Rafal Redzimski <rafal.f.redzimski@...el.com>
>
> Current implementation updates the mtu size and notify cdc_ncm
> device using USB_CDC_SET_MAX_DATAGRAM_SIZE request about datagram
> size change instead of changing rx_urb_size.
>
> Whenever mtu is being changed, datagram size should also be
> updated.
Definitely! Thanks for this. But looking at the code I believe you
need to fix the calculation of maxmtu too. It is currently:
int maxmtu = ctx->max_datagram_size - cdc_ncm_eth_hlen(dev);
And cdc_ncm_set_dgram_size() updates ctx->max_datagram_size with the new
mtu, meaning that you can only reduce the mtu. We should probably use
cdc_ncm_max_dgram_size() instead here.
And cdc_ncm_set_dgram_size() takes the datagram size with header as
input (ref the above maxmtu calucalution), so it probably needs to
called as
cdc_ncm_set_dgram_size(dev, new_mtu + cdc_ncm_eth_hlen(dev));
to get it right. I think. None of this is tested on an actual device
yet... Care to test if I'm right, and do a v2 if necessry?
> Cc: <stable@...r.kernel.org>
This should be dropped for net. Ask David to queue it for stable
instead. I usually do that by using a subject prefix like
[PATCH net,stable v1] ...
Bjørn
Powered by blists - more mailing lists