
regs->channel[] is an array of registers in SoC. It is indexed by CS# Fixup the typo which will cause the index error when accessing the hardware.
In the all other code, regs->channel[] is indexed by 'priv->cs', so I think it is reasonable to fix that wrongly register accessing.
--- drivers/spi/omap3_spi.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/drivers/spi/omap3_spi.c b/drivers/spi/omap3_spi.c index 60e9d6e..2380a0e 100644 --- a/drivers/spi/omap3_spi.c +++ b/drivers/spi/omap3_spi.c @@ -416,7 +416,7 @@ static void _omap3_spi_set_wordlen(struct omap3_spi_priv *priv) unsigned int confr;
/* McSPI individual channel configuration */ - confr = readl(&priv->regs->channel[priv->wordlen].chconf); + confr = readl(&priv->regs->channel[priv->cs].chconf);
/* wordlength */ confr &= ~OMAP3_MCSPI_CHCONF_WL_MASK;