From: Joakim Tjernlund <joakim.tjernlund@transmode.se>
To: "haokexin@gmail.com" <haokexin@gmail.com>
Cc: "ulf.hansson@linaro.org" <ulf.hansson@linaro.org>,
"linux-mmc@vger.kernel.org" <linux-mmc@vger.kernel.org>
Subject: Re: [PATCH] Revert "sdhci-of-esdhc: Support 8BIT bus width."
Date: Fri, 15 May 2015 07:02:44 +0000 [thread overview]
Message-ID: <1431673364.13197.10.camel@transmode.se> (raw)
In-Reply-To: <1431671349-12759-1-git-send-email-haokexin@gmail.com>
On Fri, 2015-05-15 at 14:29 +0800, Kevin Hao wrote:
> This reverts commit 459fe0cfda71835eacc0b24571e8425cea975688.
> It causes kernel panic due to a null pointer reference to .set_bus_width
> on fsl p2020rdb board.
> Unable to handle kernel paging request for instruction fetch
> Faulting instruction address: 0x00000000
> Oops: Kernel access of bad area, sig: 11 [#1]
> SMP NR_CPUS=8 P2020 RDB
> Modules linked in:
> CPU: 1 PID: 1 Comm: swapper/0 Not tainted 4.1.0-rc3-next-20150514-00001-g76c7a15bee83 #103
> task: ea858000 ti: ea846000 task.ti: ea846000
> NIP: 00000000 LR: c048036c CTR: 00000000
> REGS: ea847c70 TRAP: 0400 Not tainted (4.1.0-rc3-next-20150514-00001-g76c7a15bee83)
> MSR: 00021000 <CE,ME> CR: 22010022 XER: 00000000
>
> GPR00: c04802c4 ea847d20 ea858000 eaa3ab00 00000000 00000f20 00000002 00000000
> GPR08: 00000000 00000000 00000000 90000000 22010022 00000000 c0002a68 00000000
> GPR16: 00000000 00000000 00000000 00000000 00000000 00000000 c08a64e0 000000e9
> GPR24: c080f398 c08a0000 00000000 0000000e 00029000 eaa3ab28 eaa3a9f0 eaa3ab00
> NIP [00000000] (null)
> LR [c048036c] sdhci_do_set_ios+0x164/0x824
> Call Trace:
> [ea847d20] [c04802c4] sdhci_do_set_ios+0xbc/0x824 (unreliable)
> [ea847d40] [c0480a60] sdhci_set_ios+0x34/0x4c
> [ea847d50] [c046c96c] mmc_power_up.part.16+0x3c/0x120
> [ea847d70] [c046da10] mmc_start_host+0x50/0xa4
> [ea847d80] [c046ee28] mmc_add_host+0x50/0x78
> [ea847d90] [c0481438] sdhci_add_host+0x8c4/0xcc0
> [ea847db0] [c0485824] sdhci_esdhc_probe+0xa8/0xc8
> [ea847dd0] [c032ed28] platform_drv_probe+0x3c/0xa4
> [ea847df0] [c032d170] driver_probe_device+0x1f0/0x2c4
> [ea847e10] [c032d370] __driver_attach+0xbc/0xc0
> [ea847e30] [c032b178] bus_for_each_dev+0x6c/0xb8
> [ea847e60] [c032c6b8] bus_add_driver+0x168/0x220
> [ea847e80] [c032da70] driver_register+0x88/0x130
> [ea847e90] [c000234c] do_one_initcall+0x8c/0x1e0
> [ea847f00] [c0815b08] kernel_init_freeable+0x138/0x1d4
> [ea847f30] [c0002a7c] kernel_init+0x14/0x100
> [ea847f40] [c000e838] ret_from_kernel_thread+0x5c/0x64
>
> Signed-off-by: Kevin Hao <haokexin@gmail.com>
Reverting this seem a bit to much. Looking in the log it seems commit
2317f56c055fcad524bf6a873df48a754e7ebc4d
introduced the error by not checking for host->ops->set_bus_width before
calling it.
How does this work for you?
diff --git a/drivers/mmc/host/sdhci.c b/drivers/mmc/host/sdhci.c
index c80287a..23603b2 100644
--- a/drivers/mmc/host/sdhci.c
+++ b/drivers/mmc/host/sdhci.c
@@ -1528,7 +1528,10 @@ static void sdhci_do_set_ios(struct sdhci_host *host, struct mmc_ios *ios)
if (host->ops->platform_send_init_74_clocks)
host->ops->platform_send_init_74_clocks(host, ios->power_mode);
- host->ops->set_bus_width(host, ios->bus_width);
+ if (host->ops->set_bus_width)
+ host->ops->set_bus_width(host, ios->bus_width);
+ else
+ sdhci_set_bus_width(host, ios->bus_width);
next prev parent reply other threads:[~2015-05-15 7:02 UTC|newest]
Thread overview: 20+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-05-15 6:29 [PATCH] Revert "sdhci-of-esdhc: Support 8BIT bus width." Kevin Hao
2015-05-15 7:02 ` Joakim Tjernlund [this message]
2015-05-15 7:24 ` Joakim Tjernlund
2015-05-15 7:42 ` Kevin Hao
2015-05-15 8:00 ` Joakim Tjernlund
2015-05-15 8:20 ` Joakim Tjernlund
2015-05-15 12:40 ` Joakim Tjernlund
2015-05-17 5:06 ` Kevin Hao
2015-05-17 8:36 ` Joakim Tjernlund
2015-05-18 7:58 ` Ulf Hansson
2015-05-19 9:20 ` Kevin Hao
2015-05-20 14:54 ` Joakim Tjernlund
2015-05-21 1:07 ` Kevin Hao
2015-05-21 9:24 ` Joakim Tjernlund
2015-05-21 10:56 ` Kevin Hao
2015-05-21 11:45 ` Joakim Tjernlund
2015-05-22 13:46 ` Ulf Hansson
2015-05-15 7:36 ` Kevin Hao
2015-05-15 7:49 ` Joakim Tjernlund
2015-05-17 5:04 ` Kevin Hao
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1431673364.13197.10.camel@transmode.se \
--to=joakim.tjernlund@transmode.se \
--cc=haokexin@gmail.com \
--cc=linux-mmc@vger.kernel.org \
--cc=ulf.hansson@linaro.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox