mirror of
https://github.com/hardkernel/linux.git
synced 2026-06-11 05:17:10 +09:00
mmc: fix spinlock bf in irq env
This commit is contained in:
@@ -1694,10 +1694,11 @@ static void dw_mci_enable_sdio_irq(struct mmc_host *mmc, int enb)
|
|||||||
{
|
{
|
||||||
struct dw_mci_slot *slot = mmc_priv(mmc);
|
struct dw_mci_slot *slot = mmc_priv(mmc);
|
||||||
struct dw_mci *host = slot->host;
|
struct dw_mci *host = slot->host;
|
||||||
|
unsigned long flags;
|
||||||
u32 int_mask;
|
u32 int_mask;
|
||||||
u32 sdio_int;
|
u32 sdio_int;
|
||||||
|
|
||||||
spin_lock_bh(&host->lock);
|
spin_lock_irqsave(&host->lock, flags);
|
||||||
|
|
||||||
/* Enable/disable Slot Specific SDIO interrupt */
|
/* Enable/disable Slot Specific SDIO interrupt */
|
||||||
int_mask = mci_readl(host, INTMASK);
|
int_mask = mci_readl(host, INTMASK);
|
||||||
@@ -1723,7 +1724,7 @@ static void dw_mci_enable_sdio_irq(struct mmc_host *mmc, int enb)
|
|||||||
(int_mask & ~sdio_int));
|
(int_mask & ~sdio_int));
|
||||||
}
|
}
|
||||||
|
|
||||||
spin_unlock_bh(&host->lock);
|
spin_unlock_irqrestore(&host->lock, flags);
|
||||||
}
|
}
|
||||||
|
|
||||||
#ifdef CONFIG_MMC_DW_ROCKCHIP_SWITCH_VOLTAGE
|
#ifdef CONFIG_MMC_DW_ROCKCHIP_SWITCH_VOLTAGE
|
||||||
|
|||||||
Reference in New Issue
Block a user