My kenel is 2.6.19 , yaffs is 09-2-24 from cvs

If  I delete a dir named "oop ", use  rmdir cmd , found that:

1. yaffs_DoGenericObjectDeletion is called (frist time) ,
                   the oop  is move to yaffs's deletedDir,  now oop's parnet is deletedDir , then yaffs_RemoveObjectFromDirectory ( yaffs_gus.c :5201 )is called ,  so the  oop 's parnet is NULL;  (

2. Then in the do_rmdir  function, after the vfs_rmdir , will call   :

 dput ----->yaffs_delete_inode(  from inode get the yaffs_object , but the obj's parnet is NULL   )
--->yaffs_DeleteFile--->yaffs_DoGenericObjectDeletion( second time) , from here yaffs complain:

==>> yaffs bug: fs/yaffs2/yaffs_guts.c 6836
==>> yaffs bug: fs/yaffs2/yaffs_guts.c 6763

The problem is    oop->parent=NULL , so run in   yaffs_VerifyDirectory , page fault come.

Any Tips?  I want change the yaffs_delete_inode like this:
   
yaffs_Object *obj = yaffs_InodeToObject(inode);

    if( obj && obj->parent){
    dev = obj->myDev;
        yaffs_GrossLock(dev);
        yaffs_DeleteFile(obj);
        yaffs_GrossUnlock(dev);

}