Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 3e204dfc authored by Clemens Ladisch's avatar Clemens Ladisch Committed by Stefan Richter
Browse files

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: default avatarClemens Ladisch <clemens@ladisch.de>
Signed-off-by: default avatar"Stefan Richter" <stefanr@s5r6.in-berlin.de>
parent f117a3e3
Loading
Loading
Loading
Loading
+1 −7
Original line number Diff line number Diff line
@@ -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);