In function sdhci_request(), it is possible to do the tuning execution
like below:
sdhci_request() {
spin_lock_irqsave(host-lock, flags);
host-mrq = mrq;
...
spin_unlock_irqrestore(host-lock, flags);
=== Here it is possible one pending finish_tasklet get running
The runtime_get_sync() is called during sdio_bus_probe(), then the device
will be kept in active runtime state, so not neccessary to call
runtime_get_sync/put_noidle() again in sdio_bus_remove().
Signed-off-by: liu chuansheng chuansheng@intel.com
---
drivers/mmc/core/sdio_bus.c |8
In below call trace:
mmc_rescan
- mmc_rescan_try_freq()
- mmc_attach_sdio()
- mmc_sdio_init_card()
...
pm_runtime_set_active()
...
mmc_add_card()
The dev name is set until in mmc_add_card(), but before that, it is
possible the dev name is needed, for
Subject: [PATCH] mmc,sdio: Fix the panic due to devname NULL when calling
pm_runtime_set_active()
Meet one panic as the below:
1[ 15.067350] BUG: unable to handle kernel NULL pointer dereference at
(null)
1[ 15.074455] IP: [c1496a42] strlen+0x12/0x20
4[ 15.078803] *pde =
0[