Re: [PATCH] genhd fix or ide workaround -- choose one

Alan Cox
2006-10-19T12:03:36Z

Ar Iau, 2006-10-19 am 02:15 +0400, ysgrifennodd Anton Vorontsov:
> Hi all,
>
> I've caught deadlock inside IDE layer using IDE-CS: after accessing
> to IDE disk placed in PCMCIA (CF card really), it will never probe
> again after pulling it from PCMCIA/CF.

Works for me, and has done for a long time and I've also had no other
reports of this in the past couple of years so I'm curious what trips it
in your case ?

> The kernel is stuck at
> drivers/ide/ide.c:ide_unregister():604:
>
> 602 spin_unlock_irq(&ide_lock);
> 603 device_unregister(&drive->gendev);
> 604 wait_for_completion(&drive->gendev_rel_comp);
> 605 spin_lock_irq(&ide_lock);

We need to know all the references have gone away, if someone has a disk
referenced and you pull it out we can't clean up immediately so this is
the right place to get stuck both on a refcounting bug and if you've got
something holding a reference for real (eg HAL)