SMBUS reads failing with extra stop bit


I have a custom board with an Arria10 and some LTC power parts. I can write to the SMBUS command registers from Linux, but reads fail. I hooked up a protocol analyzer and it indicates to me that the initial cmd write includes a stop bit and therefore the transaction terminates before the read cycle. I can r/w the devices through the manufacturer dongle so I know the bus works, and moreover the analyzer does not show the extra stop bit when the dongle is doing reads.
My belief at this point is that it must be in the c header files or something. Anybody ever come across something similar?