/* Only valid for transactions that are potentially pending (ie have been sent).  */
int fw_cancel_transaction(struct fw_card *card, struct fw_transaction *transaction)
/* Only valid for transactions that are potentially pending (ie have been sent).  */
int fw_cancel_transaction(struct fw_card *card, struct fw_transaction *transaction)
{
	if (card->driver->cancel_packet(card, &transaction->packet) == 0)
		return 0;
	return close_transaction(transaction, card, RCODE_CANCELLED);
}