FIX-Problem: use counter armflash.c

Frank Neuber neuber at convergence.de
Wed May 2 11:36:06 EDT 2001


Hi list,
I was playing with mtd's on an arm integrator board.
I think I found a bug in the clean up sequence of the module armflash.
The use counter never counts down when I unload the module armflash.
Here is my patch to correct this behavior:

---cut---
513,529d512
<         int i;
<         struct mtd_info *ret, *mtd;
< 
<         for (i=0; i < MAX_MTD_DEVICES; i++)
<         {
<                 mtd = NULL;
<                 ret = __get_mtd_device(mtd, i);
< 
< //              printk("count down %d usecount %d\n",i, ret);
<                 if(ret!=NULL)
<                 {
<                         if(del_mtd_device(ret))
<                         {
<                                 printk("cleanup %d failed\n",i);
<                         }
<                 }
<         }
---cut---

There is another usecounter problem in armflash. In the afs_cfi_init()
function the 
function do_map_probe() is called. After this call the usecount 
of the module cfi_cmdset_0001 is incremented and would never be
decremented.
How can I fix this behaviour?
Is there anybody who is working with mtd's on arm-integrator?

regards 
Frank

-- 
Dipl.-Ing. Elektrotechnik     convergence integrated media gmbh / HW
Frank Neuber                        Rosenthalerstr.51 / 10178 Berlin
Email:  neuber at convergence.de           Phone:  +49(0)30-72 62 06 50
WWW:    www.convergence.de              Fax:    +49(0)30-72 62 06 55




More information about the linux-mtd mailing list