From: Maxim Levitsky Date: Wed, 2 Jun 2010 13:01:45 +0000 (+0300) Subject: mtd/r852: register IRQ as last step X-Git-Tag: v2.6.35-rc3~29^2~6 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=cc1fed00c9ba84f38717a6cab84409cd48f340e3;p=platform%2Fkernel%2Flinux-3.10.git mtd/r852: register IRQ as last step Otherwise, if it fires right away, it might access uninitialized spinlock Signed-off-by: Maxim Levitsky Signed-off-by: David Woodhouse --- diff --git a/drivers/mtd/nand/r852.c b/drivers/mtd/nand/r852.c index 78a4232..20a654a 100644 --- a/drivers/mtd/nand/r852.c +++ b/drivers/mtd/nand/r852.c @@ -940,18 +940,19 @@ int r852_probe(struct pci_dev *pci_dev, const struct pci_device_id *id) r852_dma_test(dev); + dev->irq = pci_dev->irq; + spin_lock_init(&dev->irqlock); + + dev->card_detected = 0; + r852_card_update_present(dev); + /*register irq handler*/ error = -ENODEV; if (request_irq(pci_dev->irq, &r852_irq, IRQF_SHARED, DRV_NAME, dev)) goto error10; - dev->irq = pci_dev->irq; - spin_lock_init(&dev->irqlock); - /* kick initial present test */ - dev->card_detected = 0; - r852_card_update_present(dev); queue_delayed_work(dev->card_workqueue, &dev->card_detect_work, 0);