Hello Jan, On Tue, Aug 28, 2007 at 05:17:07PM +0200, Jan Andersson wrote: > When the spi_mpc83xx driver receives a tx_buf pointer which is NULL, it > only writes one zero filled word to the transmit register. If the driver > expects to receive more than one word it will wait forever for a second > receive interrupt.
Confirmed here, mpc8323e using spidev_test with tx_buf == NULL. > With this patch the controller will shift out zeroes > until all bytes have been transferred. Applies to 2.6.23-rc4. Ditto, patch seem to fix issue. > This patch has not been tested with a MPC83xx device. > > Signed-off-by: Jan Andersson <[EMAIL PROTECTED]> Tested-by: Anton Vorontsov <[EMAIL PROTECTED]> > -- > I discovered this while working with a port of the mpc83xx driver from > 2.6.21.1. It looks like the issue remains in 2.6.23-rc4. When performing a > read from a M25P80 device the driver waits forever for a receive (Not > Empty) interrupt that never occurs since the transmit register is not > written when the first NE IRQ is handled. Please test or comment. > > I do not own a MPC83xx device and can not test this with the original > hardware. > --- linux-2.6/drivers/spi/spi_mpc83xx.orig 2007-08-28 16:01:59.000000000 > +0200 > +++ linux-2.6/drivers/spi/spi_mpc83xx.c 2007-08-28 16:04:35.000000000 > +0200 > @@ -384,11 +384,8 @@ irqreturn_t mpc83xx_spi_irq(s32 irq, voi > > mpc83xx_spi->count -= 1; > if (mpc83xx_spi->count) { > - if (mpc83xx_spi->tx) { > - u32 word = mpc83xx_spi->get_tx(mpc83xx_spi); > - mpc83xx_spi_write_reg(&mpc83xx_spi->base->transmit, > - word); > - } > + u32 word = mpc83xx_spi->get_tx(mpc83xx_spi); > + mpc83xx_spi_write_reg(&mpc83xx_spi->base->transmit, word); > } else { > complete(&mpc83xx_spi->done); > } Thanks, -- Anton Vorontsov email: [EMAIL PROTECTED] backup email: [EMAIL PROTECTED] irc://irc.freenode.net/bd2 ------------------------------------------------------------------------- This SF.net email is sponsored by: Splunk Inc. Still grepping through log files to find problems? Stop. Now Search log events and configuration files using AJAX and a browser. Download your FREE copy of Splunk now >> http://get.splunk.com/ _______________________________________________ spi-devel-general mailing list spi-devel-general@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/spi-devel-general