Re: [PATCH v1] net: cdc_ncm: update datagram size after changing mtu

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Robert Dobrowolski <robert.dobrowolski@xxxxxxxxxxxxxxx> writes:

> From: Rafal Redzimski <rafal.f.redzimski@xxxxxxxxx>
>
> 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@xxxxxxxxxxxxxxx>

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
--
To unsubscribe from this list: send the line "unsubscribe stable" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html



[Index of Archives]     [Linux Kernel]     [Kernel Development Newbies]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite Hiking]     [Linux Kernel]     [Linux SCSI]