s3cmci-kill-tasklet-dead.patch

This patch fixes a hypothetical problem with the removal of
tasklets in the S3C MCI driver. I don't think this causes any
real problems in the current code, but it may be nicer to clean
up properly anyway.

Merely disabling a scheduled tasklet still leaves it scheduled.
This patch first turns off the interrupt that schedules the
tasklet and then kills the tasklet, making sure it's really
gone.

Signed-off-by: Werner Almesberger <werner@openmoko.org>

---

Index: ktrack/drivers/mmc/host/s3cmci.c
===================================================================
--- ktrack.orig/drivers/mmc/host/s3cmci.c	2008-11-18 20:41:41.000000000 -0200
+++ ktrack/drivers/mmc/host/s3cmci.c	2008-11-18 20:41:42.000000000 -0200
@@ -1475,7 +1475,8 @@
 
 	clk_put(host->clk);
 
-	tasklet_disable(&host->pio_tasklet);
+	disable_irq(host->irq);
+	tasklet_kill(&host->pio_tasklet);
 	s3c2410_dma_free(S3CMCI_DMA, &s3cmci_dma_client);
 
 	free_irq(host->irq, host);
