Oliver Neukum <oliver@xxxxxxxxxx> writes: > On Thursday 18 October 2012 22:40:55 Bjørn Mork wrote: >> If the device refuses our updated value, then we must be prepared >> to receive URBs as big as the device wants to send. Set rx_max >> to the device provided value on error. > > Problematic in principle. How do you allocate a buffer of arbitrary size? You cannot of course. You can only try and give up if it doesn't work. rx_submit would end up returning -ENOMEM, but we are not always checking that so it will most likely fail silently. But I don't think we can just continue with the smaller buffer size without having the device agree to that either. That is also likely to fail silently. Note that this patch was added exactly because one of the MBIM test devices did refuse the lower rx_max we tried to enforce. The device insists on using 128kB buffers. Maybe we should cap it at some arbitrary reasonable value, and just bail out from bind if the device insists on a larger buffer? Would that be OK? How big buffers are (semi-)reasonable? Bjørn -- To unsubscribe from this list: send the line "unsubscribe linux-usb" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html