mtd/r852: register IRQ as last step
Linux-MTD Mailing List
linux-mtd at lists.infradead.org
Wed Jun 2 12:59:01 EDT 2010
Gitweb: http://git.infradead.org/?p=mtd-2.6.git;a=commit;h=cc1fed00c9ba84f38717a6cab84409cd48f340e3
Commit: cc1fed00c9ba84f38717a6cab84409cd48f340e3
Parent: df1f1d1cb43b4ffdef5ba5f0623e2f73e94ce030
Author: Maxim Levitsky <maximlevitsky at gmail.com>
AuthorDate: Wed Jun 2 16:01:45 2010 +0300
Committer: David Woodhouse <David.Woodhouse at intel.com>
CommitDate: Wed Jun 2 14:53:16 2010 +0100
mtd/r852: register IRQ as last step
Otherwise, if it fires right away, it might access
uninitialized spinlock
Signed-off-by: Maxim Levitsky <maximlevitsky at gmail.com>
Signed-off-by: David Woodhouse <David.Woodhouse at intel.com>
---
drivers/mtd/nand/r852.c | 11 ++++++-----
1 files changed, 6 insertions(+), 5 deletions(-)
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);
More information about the linux-mtd-cvs
mailing list