Re: Patch "mfd: cros ec: spi: Don't send first message too soon" has been added to the 3.18-stable tree

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi Greg,

On Wed, Dec 27, 2017 at 04:24:27PM +0100, Greg Kroah-Hartman wrote:
> 
> This is a note to let you know that I've just added the patch titled
> 
>     mfd: cros ec: spi: Don't send first message too soon
> 
> to the 3.18-stable tree which can be found at:
>     http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=summary
> 
> The filename of the patch is:
>      mfd-cros-ec-spi-don-t-send-first-message-too-soon.patch
> and it can be found in the queue-3.18 subdirectory.
> 
> If you, or anyone else, feels it should not be added to the stable tree,
> please let <stable@xxxxxxxxxxxxxxx> know about it.
> 
> 
> From 15d8374874ded0bec37ef27f8301a6d54032c0e5 Mon Sep 17 00:00:00 2001
> From: Jon Hunter <jonathanh@xxxxxxxxxx>
> Date: Tue, 14 Nov 2017 14:43:27 +0000
> Subject: mfd: cros ec: spi: Don't send first message too soon
> 
> From: Jon Hunter <jonathanh@xxxxxxxxxx>
> 
> commit 15d8374874ded0bec37ef27f8301a6d54032c0e5 upstream.
> 
> On the Tegra124 Nyan-Big chromebook the very first SPI message sent to
> the EC is failing.
> 
> The Tegra SPI driver configures the SPI chip-selects to be active-high
> by default (and always has for many years). The EC SPI requires an
> active-low chip-select and so the Tegra chip-select is reconfigured to
> be active-low when the EC SPI driver calls spi_setup(). The problem is
> that if the first SPI message to the EC is sent too soon after
> reconfiguring the SPI chip-select, it fails.
> 
> The EC SPI driver prevents back-to-back SPI messages being sent too
> soon by keeping track of the time the last transfer was sent via the
> variable 'last_transfer_ns'. To prevent the very first transfer being
> sent too soon, initialise the 'last_transfer_ns' variable after calling
> spi_setup() and before sending the first SPI message.
> 
> Signed-off-by: Jon Hunter <jonathanh@xxxxxxxxxx>
> Reviewed-by: Brian Norris <briannorris@xxxxxxxxxxxx>
> Reviewed-by: Douglas Anderson <dianders@xxxxxxxxxxxx>
> Acked-by: Benson Leung <bleung@xxxxxxxxxxxx>
> Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx>
> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>
> 
> ---
>  drivers/mfd/cros_ec_spi.c |    1 +
>  1 file changed, 1 insertion(+)
> 
> --- a/drivers/mfd/cros_ec_spi.c
> +++ b/drivers/mfd/cros_ec_spi.c
> @@ -23,6 +23,7 @@
>  #include <linux/slab.h>
>  #include <linux/spi/spi.h>
>  
> +	ec_spi->last_transfer_ns = ktime_get_ns();

Umm, that's not even close to correct? You've stuck this line just below
the headers... You may still need to adjust for some context changes in
3.18 vs. Linus' latest, but this should at least be in
cros_ec_spi_probe().

(The kbuild bots are complaining about your RC branch.)

Brian

>  
>  /* The header byte, which follows the preamble */
>  #define EC_MSG_HEADER			0xec
> 
> 
> Patches currently in stable-queue which might be from jonathanh@xxxxxxxxxx are
> 
> queue-3.18/mfd-cros-ec-spi-don-t-send-first-message-too-soon.patch



[Index of Archives]     [Linux Kernel]     [Kernel Development Newbies]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite Hiking]     [Linux Kernel]     [Linux SCSI]