On Tue, Apr 26, 2016 at 02:24:54PM -0400, Mark Hounschell wrote: > I am having some difficulties with a synklink_gt4 card and/or its driver. I > am trying to read/write 16384 byte frames. I seem to be able to write them > but can only read 4096 bytes of data per read. The documentation I have for > this card says I can have a MAX frame size of between 4096 and 65535. And I > see code in the driver that agrees with that doc. I understand how to set > the maxframe size for each port properly but it doesn't seem to change this > behavior. > > This is making things sort of awkward. I can write a single 16384 byte > frame, but to read 16384 bytes I have to issue 4 reads. I seem to only be > able to read a max of 4096 bytes. I sort of need a single read to read a > single frame as I am able to do with the writes. I don't really know if > this is a synclink driver issue or something in the tty/hdlc layer. It > actually looks to me like the synclink driver its self is OK. Am I missing > something? > > I've tried several kernel versions from 4.1 through the latest 4.5.2. > > I don't find a maintainer in the MAINTANERs file so I've CC'd the original > author. You are getting "lucky" with a write of that large, there is no requirement that a large write succeeds at all, it might return a "short" write and your application layer needs to be able to handle that properly. It sounds like you are trying to overlay some type of packet scheme on top of the hardware in a way that does not work, you are going to have to do this in your application layer without relying on how the kernel handles reads/writes at all. good luck! greg k-h -- To unsubscribe from this list: send the line "unsubscribe linux-serial" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html