From: Max Filippov Date: Sun, 17 May 2009 23:02:35 +0000 (+0400) Subject: p54spi: use firmware/DMA bug workaround that work under hight load in p54spi_rx X-Git-Tag: v2.6.31-rc1~330^2~313^2~61 X-Git-Url: http://git.openpandora.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=ff561ac84e0bdfe1316ed355669dd73101609f24;p=pandora-kernel.git p54spi: use firmware/DMA bug workaround that work under hight load in p54spi_rx Under high load first data word, read after available data size is sometimes lost in p54spi_rx. It seems to depend on frequency of interrupts and latency of data read request relatively to 'data available' interrupt. The worst consequence of this bug is loss of packet transmission acknowledgement, which in turn causes overflow of tx queues and permanent link loss. Read data size and first data word in one SPI transaction. No packets from LMAC should have length less than 1 word, so this shouldn't interfere with the next read transaction. Also call p54spi_sleep if p54spi_wake succeeded. Signed-off-by: Max Filippov Signed-off-by: John W. Linville --- Reading git-diff-tree failed