[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-Id: <1444942305-24038-1-git-send-email-fcooper@ti.com>
Date: Thu, 15 Oct 2015 15:51:45 -0500
From: Franklin S Cooper Jr <fcooper@...com>
To: linux-kernel@...r.kernel.org, linux-spi@...r.kernel.org,
broonie@...nel.org, nsekhar@...com, ssantosh@...nel.org,
iivanov@...sol.com, m-karicheri2@...com, iivanov.xz@...il.com,
andy.shevchenko@...il.com, jarkko.nikula@...ux.intel.com,
hkallweit1@...il.com
Cc: Franklin S Cooper Jr <fcooper@...com>
Subject: [PATCH] spi: Setup the master controller driver before setting the chipselect
Some devices depend on the master controller driver setup function being
called before calling any chipselect functions.
Insure that this is done otherwise uninitialized structures may be
accessed causing a kernel panic.
Tested-by: Andy Shevchenko <andy.shevchenko@...il.com>
Signed-off-by: Franklin S Cooper Jr <fcooper@...com>
---
Keystone 2 devices currently fail to boot in linux-next after the
below commit was applied:
spi: bitbang: switch to the generic implementation of transfer_one_message
commit: 0037686596832572bbca05ab168d9884d7d704c1
This patch allows Keystone 2 devices to boot again in linux-next.
Tested this patch on K2E evm and am437 starterkit which both have SPI
devices to insure regressions aren't seen.
drivers/spi/spi.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/drivers/spi/spi.c b/drivers/spi/spi.c
index 4c638f3..9d5525a 100644
--- a/drivers/spi/spi.c
+++ b/drivers/spi/spi.c
@@ -2059,11 +2059,11 @@ int spi_setup(struct spi_device *spi)
if (!spi->max_speed_hz)
spi->max_speed_hz = spi->master->max_speed_hz;
- spi_set_cs(spi, false);
-
if (spi->master->setup)
status = spi->master->setup(spi);
+ spi_set_cs(spi, false);
+
dev_dbg(&spi->dev, "setup mode %d, %s%s%s%s%u bits/w, %u Hz max --> %d\n",
(int) (spi->mode & (SPI_CPOL | SPI_CPHA)),
(spi->mode & SPI_CS_HIGH) ? "cs_high, " : "",
--
2.6.1
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists