As I found on some chipsets, the CPU can be too fast, and it should:
- start op
- wait for 'smbus active' indicator to go to 1
- wait for 'smbus active' indicator to go to 0
is this by any chance your problem?
The code is basiclly a port of the working V1 assembly code converted to C. I seem to remember that the V1 code did exactly what you are talking about. Perhaps I goofed up a flag polarity or some other core piece of info while doing it.
I'll whip up a patch today when I get to work and post it up for anyone interested to look at. Perhaps a fresh set of eyes will catch the issue.
I'll need a place to upload to. Or I guess you can commit to CVS. Didn't someone mention that they were going to provide space for stuff like this?