Messages in this thread | | | Date | Tue, 17 Aug 2004 10:18:37 -0400 | From | Alan Cox <> | Subject | Re: PATCH: straighten out the IDE layer locking and add hotplug |
| |
On Tue, Aug 17, 2004 at 04:12:37PM +0200, Bartlomiej Zolnierkiewicz wrote: > this is dubious for many non PCI drivers which use ide_register_hw() to only > claim/fill ide_hwifs[] entry but actual probing is done later by ide-generic > driver - we end up with hwif->present == 0 and hwif->configured == 1 > and if ide_register_hw() will try to unregister such hwif it will possibly > crash (because we now check for ->configured not ->present in > ide_unregister_hwif) - you've correctly noticed in the FIXMEs that we
We check present as well as we free the various parts. The problem we have is interfaces exist in "allocated by someone but not present" cases. Right now the lack of hotplug hides the fact this is totally broken. The unregister code tries to be smart about this and unregisters only certain bits of the object if its configured & !present. Thats why I save and use the present value on entry.
I've not looked at how it affects SCAN_HWIF but the other seemed ok.
Alan
- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |