lkml.org 
[lkml]   [2008]   [Mar]   [3]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: [PATCH 2/5] firewire: fix crash in automatic module unloading
Kristian Høgsberg wrote:
> I would want to use a kref and a completion for tracking this though
> instead of the atomic. Just use kref_get() instead of incrementing
> the atomic and use kref_put() instead of decrementing it. The release
> function for kref_put() should complete the completion struct and
> instead of the busy loop in fw_core_remove_card() we just wait for the
> completion.

Sounds like the way to go. Since I already passed that patch upwards, I
will do an incremental rework. (But perhaps not before spending some
time on ticket number 9617 at bugzilla.kernel.org's...)

> And I'm not sure I agree that it's a device_count, it
> really just is a ref-count. The core should also hold a reference to
> the card and release it in fw_core_remove_card(), just before waiting
> on the completion.

Right; we just shouldn't mix fw-ohci's refcounting (which isn't really
needed since the lifetime rules for the card are as simple as they can
get for fw-ohci) and fw-core's refcounting.
--
Stefan Richter
-=====-==--- --== ---==
http://arcgraph.de/sr/
--
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: 2008-03-03 18:39    [from the cache]
©2003-2011 Jasper Spaans