firewire: ohci: run work immediately when re-enabled in packet cancellation

During packet cancellation, the work item for the AT request context is
disabled. As a result, packets for request subactions are not processed
by the work item even if they finished, since the work item can not be
scheduled from hardIRQ handling.

Run the work item immediately after re-enabling it.

Link: https://lore.kernel.org/r/20260927044407.65497-3-o-takashi@sakamocchi.jp
Signed-off-by: Takashi Sakamoto <o-takashi@sakamocchi.jp>
This commit is contained in:
Takashi Sakamoto 2026-09-27 13:44:07 +09:00
parent 87a48a22b3
commit c94caec799

View File

@ -2676,7 +2676,7 @@ static int ohci_cancel_packet(struct fw_card *card, struct fw_packet *packet)
packet->callback(packet, &ohci->card, packet->ack);
ret = 0;
out:
enable_work(&ctx->work);
enable_and_queue_work(card->async_wq, &ctx->work);
return ret;
}