
On Mon, 4 Jan 2010, Magnus Lilja wrote:
Hi
Magnus Lilja skrev:
2009/12/3 Guennadi Liakhovetski lg@denx.de:
On Wed, 2 Dec 2009, Wolfgang Denk wrote:
Dear Guennadi,
In message 1257965907-5622-1-git-send-email-lilja.magnus@gmail.com Magnus Lilja wrote:
diff --git a/drivers/spi/mxc_spi.c b/drivers/spi/mxc_spi.c index fad9840..8b5d4be 100644 --- a/drivers/spi/mxc_spi.c +++ b/drivers/spi/mxc_spi.c @@ -142,6 +142,8 @@ int spi_xfer(struct spi_slave *slave, unsigned int bitlen, const void *dout, *(u8 *)din = data; else if (bitlen < 17) *(u16 *)din = data;
else
}*in_l = data; }
Could you please comment ?
Hm, I'm afraid, I broke more than just that. Now that I look at this loop, looks like I broke not only 32-bit transfers, but also all transfers with bitlen > 16, and this fix is then incomplete - it doesn't fix cases with bitlen > 32. Magnus, looks like you also only use single-block (bitlen=32) transfers? Do you have a chance to test > 32-bit transfers too?
No, I don't have anything suitable on the SPI bus that would allow me to test > 32-bit transfer.
So, what was the verdict? I can only test SPI with the ATLAS (32 bit xfers).
Can the patch be accepted even though it doesn't fix all problems or does it have to a "fix-everything"-patch?
I would prefer a proper fix, or an explicit restriction on transfer length.
Thanks Guennadi --- Guennadi Liakhovetski, Ph.D. Freelance Open-Source Software Developer http://www.open-technology.de/