Index: linux-2.6/drivers/mmc/core/sd.c =================================================================== --- linux-2.6.orig/drivers/mmc/core/sd.c 2007-06-27 16:52:11.000000000 -0700 +++ linux-2.6/drivers/mmc/core/sd.c 2007-06-27 17:11:51.000000000 -0700 @@ -191,7 +191,7 @@ static int mmc_read_switch(struct mmc_card *card) { int err; - u8 *status; + u8 status[32]; if (card->scr.sda_vsn < SCR_SPEC_VER_1) return MMC_ERR_NONE; @@ -203,16 +203,6 @@ return MMC_ERR_NONE; } - err = MMC_ERR_FAILED; - - status = kmalloc(64, GFP_KERNEL); - if (!status) { - printk("%s: could not allocate a buffer for switch " - "capabilities.\n", - mmc_hostname(card->host)); - return err; - } - err = mmc_sd_switch(card, 0, 0, 1, status); if (err != MMC_ERR_NONE) { printk(KERN_WARNING "%s: problem reading switch " @@ -226,8 +216,6 @@ card->sw_caps.hs_max_dtr = 50000000; out: - kfree(status); - return err; }