summaryrefslogtreecommitdiffstats
path: root/drivers/firewire/core-cdev.c
diff options
context:
space:
mode:
authorClemens Ladisch <clemens@ladisch.de>2011-01-10 17:28:27 +0100
committerStefan Richter <stefanr@s5r6.in-berlin.de>2011-01-23 12:31:00 +0100
commit3e204dfcaff0e7f6c4d9873fb8c9d948ec5ab2da (patch)
tree77d823df1360861fb4edd7cdf0549ea849c8a001 /drivers/firewire/core-cdev.c
parentf117a3e3004381ccadadc5156178c283815ca393 (diff)
downloadlinux-stable-3e204dfcaff0e7f6c4d9873fb8c9d948ec5ab2da.tar.gz
linux-stable-3e204dfcaff0e7f6c4d9873fb8c9d948ec5ab2da.tar.bz2
linux-stable-3e204dfcaff0e7f6c4d9873fb8c9d948ec5ab2da.zip
firewire: cdev: remove unneeded idr_find() from complete_transaction()
Outbound transactions are never aborted with release_client_resource(), so it is not necessary for complete_transaction() to check whether the resource is still registered. Only shutdown_resource() can abort such an transaction, and this is already handled with the in_shutdown check. Signed-off-by: Clemens Ladisch <clemens@ladisch.de> Signed-off-by: "Stefan Richter" <stefanr@s5r6.in-berlin.de>
Diffstat (limited to 'drivers/firewire/core-cdev.c')
-rw-r--r--drivers/firewire/core-cdev.c8
1 files changed, 1 insertions, 7 deletions
diff --git a/drivers/firewire/core-cdev.c b/drivers/firewire/core-cdev.c
index 48ae712e2101..4434f7ca11d5 100644
--- a/drivers/firewire/core-cdev.c
+++ b/drivers/firewire/core-cdev.c
@@ -544,14 +544,8 @@ static void complete_transaction(struct fw_card *card, int rcode,
* 1. If called while in shutdown, the idr tree must be left untouched.
* The idr handle will be removed and the client reference will be
* dropped later.
- * 2. If the call chain was release_client_resource ->
- * release_transaction -> complete_transaction (instead of a normal
- * conclusion of the transaction), i.e. if this resource was already
- * unregistered from the idr, the client reference will be dropped
- * by release_client_resource and we must not drop it here.
*/
- if (!client->in_shutdown &&
- idr_find(&client->resource_idr, e->r.resource.handle)) {
+ if (!client->in_shutdown) {
idr_remove(&client->resource_idr, e->r.resource.handle);
/* Drop the idr's reference */
client_put(client);