diff options
| -rw-r--r-- | drivers/mmc/host/sdhci-of.c | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/drivers/mmc/host/sdhci-of.c b/drivers/mmc/host/sdhci-of.c index 09cc597c6316..128c614d11aa 100644 --- a/drivers/mmc/host/sdhci-of.c +++ b/drivers/mmc/host/sdhci-of.c | |||
| @@ -55,7 +55,13 @@ static u32 esdhc_readl(struct sdhci_host *host, int reg) | |||
| 55 | 55 | ||
| 56 | static u16 esdhc_readw(struct sdhci_host *host, int reg) | 56 | static u16 esdhc_readw(struct sdhci_host *host, int reg) |
| 57 | { | 57 | { |
| 58 | return in_be16(host->ioaddr + (reg ^ 0x2)); | 58 | u16 ret; |
| 59 | |||
| 60 | if (unlikely(reg == SDHCI_HOST_VERSION)) | ||
| 61 | ret = in_be16(host->ioaddr + reg); | ||
| 62 | else | ||
| 63 | ret = in_be16(host->ioaddr + (reg ^ 0x2)); | ||
| 64 | return ret; | ||
| 59 | } | 65 | } |
| 60 | 66 | ||
| 61 | static u8 esdhc_readb(struct sdhci_host *host, int reg) | 67 | static u8 esdhc_readb(struct sdhci_host *host, int reg) |
