On 02/12/05 20:42 +0100, Pierre Ossman wrote: > Jordan Crouse wrote: > > @@ -196,7 +207,11 @@ static int au1xmmc_send_command(struct a > > > > switch(cmd->flags) { > > case MMC_RSP_R1: > > - mmccmd |= SD_CMD_RT_1; > > + if (cmd->opcode == 0x03 && host->mmc->mode == MMC_MODE_SD) > > + mmccmd |= SD_CMD_RT_6; > > + else > > + mmccmd |= SD_CMD_RT_1; > > + > > break; > > case MMC_RSP_R1B: > > mmccmd |= SD_CMD_RT_1B; > > No, no, no! Even if this wasn't already fixed in the current kernel you > never hack around bugs in other parts of the kernel, you fix them! As of a git pull about 30 minutes ago, both MMC_RSP_R1 and MMC_RSP_R6 resolve to (MMC_RSP_SHORT|MMC_RSP_CRC). Now, I really wouldn't call that a bug in the subsystem, because it is technically correct, but the Au1200 needs us to specifically specify if the required response is an R1 or an R6, thus the specified logic. Jordan -- Jordan Crouse Senior Linux Engineer AMD - Personal Connectivity Solutions Group <www.amd.com/embeddedprocessors>