lkml.org 
[lkml]   [2005]   [Jan]   [10]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
From
SubjectRe: Flaw in ide_unregister()
Date
Alan Cox:
> On Sul, 2005-01-09 at 22:37, Richard Purdie wrote:
>> I haven't investigated it yet but I suspect the usage count is held by
>> ide-disk as the CF card has a mounted filesystem. As previously mentioned
>> and for reference, this patch has the changes I had to make to get
>> standard
>> 2.6.10 to work:
>
> Correct. This is intentional - what the -ac code allows you to do
> (although you probably need to move the final free up to a workqueue) is
> to free the hardware resources. The ide resources will then free later
> on the umount

Ok. I can see what you're saying and I can visualise a patch for ide-cs.c
which will probably work using a workqueue as you suggest.

I'd like to question whether the driver or the ide code should be taking
care of this freeing of resources though?

It all depends what a call to ide_unregister() is supposed to mean. I'd
have thought it should mean *remove this inferface by doing whatever is
neccessary to do so*. If its busy and/or in use, wait until it isn't and
then remove it by queueing some work to do so at a later date.

Offloading this responsibility onto each and every driver seems rather
rather unwise and will result in a lot of code duplication. Are there any
circumstances where we need ide_unregister to abort on busy? Even if there
are would a flag to indicate what it should do with a busy drive be better?

Richard

-
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/

\
 
 \ /
  Last update: 2005-03-22 14:09    [W:0.064 / U:0.080 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site