Re: function call fw_iso_resource_mange(..) (core-iso.c) does not return
From: Stephan Gatzka
Date: Wed May 22 2013 - 04:59:27 EST
A third (fourth?) way to fix it --- feasible or not --- would be to
break
the dependency between the worklets. In this case, use a timer to
cancel
outbound transactions if the request-transmit IRQ event was not
received
before a timeout. We had such a timeout in the older ieee1394 drivers
and
we also had it in earlier versions of the firewire drivers, at a risk
of a
race between CPU and OHCI.
Why do we need a timer? If we guarantee that bus_reset_work() always
make progress (if we put it into its own queue), it should always be
able to complete the corresponding completion object the other works are
waiting for.
Regards,
Stephan
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/