linux-spi.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH] spi: Setup the master controller driver before setting the chipselect
@ 2015-10-15 20:51 Franklin S Cooper Jr
       [not found] ` <1444942305-24038-1-git-send-email-fcooper-l0cyMroinI0@public.gmane.org>
  0 siblings, 1 reply; 5+ messages in thread
From: Franklin S Cooper Jr @ 2015-10-15 20:51 UTC (permalink / raw)
  To: linux-kernel-u79uwXL29TY76Z2rM5mHXA,
	linux-spi-u79uwXL29TY76Z2rM5mHXA, broonie-DgEjT+Ai2ygdnm+yROfE0A,
	nsekhar-l0cyMroinI0, ssantosh-DgEjT+Ai2ygdnm+yROfE0A,
	iivanov-NEYub+7Iv8PQT0dZR+AlfA, m-karicheri2-l0cyMroinI0,
	iivanov.xz-Re5JQEeQqe8AvxtiuMwx3w,
	andy.shevchenko-Re5JQEeQqe8AvxtiuMwx3w,
	jarkko.nikula-VuQAYsv1563Yd54FQh9/CA,
	hkallweit1-Re5JQEeQqe8AvxtiuMwx3w
  Cc: Franklin S Cooper Jr

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-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
Signed-off-by: Franklin S Cooper Jr <fcooper-l0cyMroinI0@public.gmane.org>
---
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-spi" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

^ permalink raw reply related	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2015-10-16 14:45 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2015-10-15 20:51 [PATCH] spi: Setup the master controller driver before setting the chipselect Franklin S Cooper Jr
     [not found] ` <1444942305-24038-1-git-send-email-fcooper-l0cyMroinI0@public.gmane.org>
2015-10-16 10:28   ` Mark Brown
     [not found]     ` <20151016102846.GJ14956-GFdadSzt00ze9xe1eoZjHA@public.gmane.org>
2015-10-16 14:27       ` Franklin S Cooper Jr.
     [not found]         ` <56210966.3040501-l0cyMroinI0@public.gmane.org>
2015-10-16 14:43           ` Mark Brown
     [not found]             ` <20151016144305.GO14956-GFdadSzt00ze9xe1eoZjHA@public.gmane.org>
2015-10-16 14:45               ` Franklin S Cooper Jr.

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).