From: Bjørn Mork <bjorn@xxxxxxx> Date: Wed, 18 Jun 2014 14:21:24 +0200 > Messages from the modem exceeding 256 bytes cause communication > failure. > > The WDM protocol is strictly "read on demand", meaning that we only > poll for unread data after receiving a notification from the modem. > Since we have no way to know how much data the modem has to send, > we must make sure that the buffer we provide is "big enough". > Message truncation does not work. Truncated messages are left unread > until the modem has another message to send. Which often won't > happen until the userspace application has given up waiting for the > final part of the last message, and therefore sends another command. > > With a proper CDC WDM function there is a descriptor telling us > which buffer size the modem uses. But with this vendor specific > implementation there is no known way to calculate the exact "big > enough" number. It is an unknown property of the modem firmware. > Experience has shown that 256 is too small. The discussion of > this failure ended up concluding that 512 might be too small as > well. So 1024 seems like a reasonable value for now. > > Fixes: 41c47d8cfd68 ("net: huawei_cdc_ncm: Introduce the huawei_cdc_ncm driver") > Cc: Enrico Mioso <mrkiko.rs@xxxxxxxxx> > Reported-by: Dan Williams <dcbw@xxxxxxxxxx> > Signed-off-by: Bjørn Mork <bjorn@xxxxxxx> Applied and queued up for -stable, thanks! -- 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