Loading drivers/block/mg_disk.c +10 −0 Original line number Diff line number Diff line Loading @@ -219,6 +219,16 @@ static unsigned int mg_wait(struct mg_host *host, u32 expect, u32 msec) host->error = MG_ERR_NONE; expire = jiffies + msecs_to_jiffies(msec); /* These 2 times dummy status read prevents reading invalid * status. A very little time (3 times of mflash operating clk) * is required for busy bit is set. Use dummy read instead of * busy wait, because mflash's PLL is machine dependent. */ if (prv_data->use_polling) { status = inb((unsigned long)host->dev_base + MG_REG_STATUS); status = inb((unsigned long)host->dev_base + MG_REG_STATUS); } status = inb((unsigned long)host->dev_base + MG_REG_STATUS); do { Loading Loading
drivers/block/mg_disk.c +10 −0 Original line number Diff line number Diff line Loading @@ -219,6 +219,16 @@ static unsigned int mg_wait(struct mg_host *host, u32 expect, u32 msec) host->error = MG_ERR_NONE; expire = jiffies + msecs_to_jiffies(msec); /* These 2 times dummy status read prevents reading invalid * status. A very little time (3 times of mflash operating clk) * is required for busy bit is set. Use dummy read instead of * busy wait, because mflash's PLL is machine dependent. */ if (prv_data->use_polling) { status = inb((unsigned long)host->dev_base + MG_REG_STATUS); status = inb((unsigned long)host->dev_base + MG_REG_STATUS); } status = inb((unsigned long)host->dev_base + MG_REG_STATUS); do { Loading