its happening somewhere here, because i never prints 'mmc card init *2*
static int mmc_card_init(void)
{
unsigned char r = 0;
short i, j;
unsigned long flags;
save_flags(flags);
cli();
printk("mmc Card init\n");
mmc_spi_cs_high();
for (i = 0; i < 20; i++) mmc_spi_io(0xff);
mmc_spi_cs_low();
mmc_spi_io(0x40);
for (i = 0; i < 4; i++) mmc_spi_io(0x00);
mmc_spi_io(0x95);
for (i = 0; i < 8; i++)
{
r = mmc_spi_io(0xff);
if (r == 0x01) break;
}
mmc_spi_cs_high();
mmc_spi_io(0xff);
if (r != 0x01)
{
restore_flags(flags);
return(1);
}
printk("mmc Card init *1*\n");