From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1756224AbbHYVEm (ORCPT ); Tue, 25 Aug 2015 17:04:42 -0400 Received: from mout.kundenserver.de ([212.227.17.13]:53978 "EHLO mout.kundenserver.de" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752936AbbHYVEj (ORCPT ); Tue, 25 Aug 2015 17:04:39 -0400 From: Stefan Wahren To: =?UTF-8?q?Noralf=20Tr=C3=B8nnes?= , Thomas Petazzoni Cc: Greg Kroah-Hartman , Henri Chain , linux-kernel@vger.kernel.org, devel@driverdev.osuosl.org, Stefan Wahren Subject: [PATCH 2/2] staging: fbtft: replace master->setup() with spi_setup() Date: Tue, 25 Aug 2015 21:04:12 +0000 Message-Id: <1440536652-7940-3-git-send-email-stefan.wahren@i2se.com> X-Mailer: git-send-email 1.7.9.5 In-Reply-To: <1440536652-7940-1-git-send-email-stefan.wahren@i2se.com> References: <1440536652-7940-1-git-send-email-stefan.wahren@i2se.com> X-Provags-ID: V03:K0:/NcQuWEiyRg7wHuOC3yUxA+iKMVppUHvmZ2noVzTwmySSM19iL5 1/nGvNm7lRwKmn6rf/jZ3j09RjWUe2eGbiEf8IHVP6PzxKxI/55MWEPJuAohGm324kKQNIT 5evZkkOiGPO1KxKgK1I8Ol7f1k2uH1QMefHOVEdEH060a6WGvUbJHavFEudaoKtA59uxr6+ kyYGNLDDPJi6Z3CWJhtcg== X-UI-Out-Filterresults: notjunk:1;V01:K0:5cv1gAjo+40=:XzL7SEHheY33bHqF++PNh8 ut3voUECICqWFRrPfSYWUGGn4KX5Aud3ZKzY+jFzzW4br9Sr0wD//F6ABymhewgbR/HoCqXnU gh2LQSoUSqakbb1yMHI9byFYuQIGFr9ajG9V7q7Ie9OVyFw3Qx+2XE+9yf86dWfAN20NYYuWb ty+z4Crv7MWDED50kGlaeOGsHdrltOsiL0anGzmWt5462AbYjA78R8BK0p/vhCuZ4uS8RArme s3j+X0JvkAKESBb+Z+FirZ3vpt30tisB1eVxSlW96xtINzlkHMtxrVgX1ZgNuiiw5FUU8iMfO +HOd+mGD6G0v/tkCWLrJnkSyEXEzM/v6wX9T8T/3PCfGHryM+RJJ6RiPgJ6e+3oogpLr3xRtU PUzofgV4QgaYpyKKoNgnT0vj4PEwfg+8aoM6FqMHdvxsT4dxSRc9/TZz4gdu2HaNP0W2AJ/5M EuGHehfYre1PZaCDnJzESH92VVLwW/zuacjbci6RlDoZFOYIOLfkT9McBWd1JWM+2ThwHbuzB cE/qRYUf5mitgnmz2rL1bCgvqVl28iQ4hXBu9EoifpdjnKJx2heNMxm08RfNoRqyPCwPR9Bua j4xw1XCV0cHwDDUGkqEm3CJpJGZ44Y3cKyVT0Jw3hvBcJqthMxHxv9dIq77UVBVf3T0LufOhV 0np74vW/ah8ytKgbtDBPZFsZzl6+ruQL5Fje+wipADF8pGpuoqmHZDXEJI5geE1BmxnI= Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Calling the setup of the SPI master directly causes a NULL pointer dereference with master drivers without a separate setup function. This problem is reproduceable on ARM MXS platform. So fix this issue by using spi_setup() instead. Signed-off-by: Stefan Wahren --- drivers/staging/fbtft/fb_uc1611.c | 2 +- drivers/staging/fbtft/fb_watterott.c | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/drivers/staging/fbtft/fb_uc1611.c b/drivers/staging/fbtft/fb_uc1611.c index 32f3a9d..5cafa50 100644 --- a/drivers/staging/fbtft/fb_uc1611.c +++ b/drivers/staging/fbtft/fb_uc1611.c @@ -76,7 +76,7 @@ static int init_display(struct fbtft_par *par) /* Set CS active high */ par->spi->mode |= SPI_CS_HIGH; - ret = par->spi->master->setup(par->spi); + ret = spi_setup(par->spi); if (ret) { dev_err(par->info->device, "Could not set SPI_CS_HIGH\n"); return ret; diff --git a/drivers/staging/fbtft/fb_watterott.c b/drivers/staging/fbtft/fb_watterott.c index 88fb2c0..8eae6ef 100644 --- a/drivers/staging/fbtft/fb_watterott.c +++ b/drivers/staging/fbtft/fb_watterott.c @@ -169,7 +169,7 @@ static int init_display(struct fbtft_par *par) /* enable SPI interface by having CS and MOSI low during reset */ save_mode = par->spi->mode; par->spi->mode |= SPI_CS_HIGH; - ret = par->spi->master->setup(par->spi); /* set CS inactive low */ + ret = spi_setup(par->spi); /* set CS inactive low */ if (ret) { dev_err(par->info->device, "Could not set SPI_CS_HIGH\n"); return ret; @@ -180,7 +180,7 @@ static int init_display(struct fbtft_par *par) par->fbtftops.reset(par); mdelay(1000); par->spi->mode = save_mode; - ret = par->spi->master->setup(par->spi); + ret = spi_setup(par->spi); if (ret) { dev_err(par->info->device, "Could not restore SPI mode\n"); return ret; -- 1.7.9.5