Self Answer & NAND driver wait queue init problem
Elizabeth Clarke
eclarke at aminocom.com
Tue Jan 22 09:30:52 EST 2002
Kim Jong-chan wrote back in september last year!:
> Finally, I've solved the problem.
> The answer is that wq of struct nand_chip is not initialized.
> So I suggest... nand_scan() in nand.c
>
> /* Initialize state and spinlock */
> this->state = FL_READY;
> spin_lock_init(&this->chip_lock);
>
> /* Initialize wait queue : fixed by Adelinux */
> > init_waitqueue_head(&this->wq);
>
> /* De-select the device */
> nand_deselect ();
>
> I've looked up MTD drivers code of other chips. And I think wq must be
> initialized. Otherwise, wake_up will kill the system.
I've just been caught by this too, so the/a fix didn't get into CVS...
Is Kim's fix a good one, if so can someone check it in please? If it
isn't what is the Right Thing to do?....
Beth
--
Chief Engineer - Software
Amino Communications Ltd
01954 784523 (Direct Line)
More information about the linux-mtd
mailing list