From cfd418b2eeafcb2489c8d757e4fb90ce5ae46928 Mon Sep 17 00:00:00 2001 From: Chuck Ebbert Date: Thu, 12 Jun 2008 15:21:42 -0700 Subject: [PATCH] --- yaml --- r: 98059 b: refs/heads/master c: cef33400d0349fb24b6f8b7dea79b66e3144fd8b h: refs/heads/master i: 98057: da3bc095a73bec74ee4620ae5b2cb9d4745a58af 98055: 2c71bdc9648d286a7e7130e3af5529b8b38bf39d v: v3 --- [refs] | 2 +- trunk/drivers/mmc/host/wbsd.c | 21 ++++++++++----------- 2 files changed, 11 insertions(+), 12 deletions(-) diff --git a/[refs] b/[refs] index b009dc56e1a2..844b9f1f34fb 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 30ec261e5f97986644c0982543bc1cee1b2782bf +refs/heads/master: cef33400d0349fb24b6f8b7dea79b66e3144fd8b diff --git a/trunk/drivers/mmc/host/wbsd.c b/trunk/drivers/mmc/host/wbsd.c index be624a049c67..c303e7f57ab4 100644 --- a/trunk/drivers/mmc/host/wbsd.c +++ b/trunk/drivers/mmc/host/wbsd.c @@ -1457,17 +1457,7 @@ static int __devinit wbsd_request_irq(struct wbsd_host *host, int irq) int ret; /* - * Allocate interrupt. - */ - - ret = request_irq(irq, wbsd_irq, IRQF_SHARED, DRIVER_NAME, host); - if (ret) - return ret; - - host->irq = irq; - - /* - * Set up tasklets. + * Set up tasklets. Must be done before requesting interrupt. */ tasklet_init(&host->card_tasklet, wbsd_tasklet_card, (unsigned long)host); @@ -1480,6 +1470,15 @@ static int __devinit wbsd_request_irq(struct wbsd_host *host, int irq) tasklet_init(&host->finish_tasklet, wbsd_tasklet_finish, (unsigned long)host); + /* + * Allocate interrupt. + */ + ret = request_irq(irq, wbsd_irq, IRQF_SHARED, DRIVER_NAME, host); + if (ret) + return ret; + + host->irq = irq; + return 0; }