All of lore.kernel.org
 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
  0 siblings, 0 replies; 10+ 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] 10+ messages in thread

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

Thread overview: 10+ 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
2015-10-15 20:51 ` Franklin S Cooper Jr
     [not found] ` <1444942305-24038-1-git-send-email-fcooper-l0cyMroinI0@public.gmane.org>
2015-10-16 10:28   ` Mark Brown
2015-10-16 10:28     ` Mark Brown
     [not found]     ` <20151016102846.GJ14956-GFdadSzt00ze9xe1eoZjHA@public.gmane.org>
2015-10-16 14:27       ` Franklin S Cooper Jr.
2015-10-16 14:27         ` Franklin S Cooper Jr.
     [not found]         ` <56210966.3040501-l0cyMroinI0@public.gmane.org>
2015-10-16 14:43           ` Mark Brown
2015-10-16 14:43             ` Mark Brown
     [not found]             ` <20151016144305.GO14956-GFdadSzt00ze9xe1eoZjHA@public.gmane.org>
2015-10-16 14:45               ` Franklin S Cooper Jr.
2015-10-16 14:45                 ` Franklin S Cooper Jr.

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.