sdhci.c after suspend, my sd host controller cannot work normally,

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

 



Hi,
     I have an android box, and the kernel is 2.6.32. and my sd card
 host driver use the sdhci driver.
    now I have a problem when sdhost suspend and resume.
>From the log,  after the system suspend,  just before sdhost resume,
there is  a sdhci_request io happen. in the sdhci_request, it still
call sdhci_send_command to issue a command, but here the sdhost
is in the suspend state and the card has been power off, so the
command  fails.

   I want to know is this a power manage bug or sdhost bug?
does the sd card io request that happens between suspend and resume
is possible? or the sdhci_request should check more sd host state
before send command?

 In sdhci_request
     if (!present || host->flags & SDHCI_DEVICE_DEAD) {
               host->mrq->cmd->error = -ENOMEDIUM;
               tasklet_schedule(&host->finish_tasklet);
    } else
              sdhci_send_command(host, mrq->cmd);
In my case the __present__ is true and SDHCI device is not dead,
because my sdcard has the quirk
 'SDHCI_QUIRK_NO_CARD_NO_RESET' and the card
is always in the slot.

could you expert give me some advice? thanks a lot.
below are the config of my sd card:

CONFIG_MMC=y
CONFIG_MMC_DEBUG=y
CONFIG_MMC_UNSAFE_RESUME=y
# CONFIG_MMC_EMBEDDED_SDIO is not set
# CONFIG_MMC_PARANOID_SD_INIT is not set

#
# MMC/SD/SDIO Card Drivers
#
CONFIG_MMC_BLOCK=y
CONFIG_MMC_BLOCK_BOUNCE=y
CONFIG_MMC_BLOCK_DEFERRED_RESUME=y
# CONFIG_SDIO_UART is not set
# CONFIG_MMC_TEST is not set

#
# MMC/SD/SDIO Host Controller Drivers
#
CONFIG_MMC_SDHCI=y
--
To unsubscribe from this list: send the line "unsubscribe linux-mmc" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[Index of Archives]     [Linux USB Devel]     [Linux Media]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux