id summary reporter owner description type status priority milestone component version resolution keywords cc device_name 287 [Patch] Restart support for DICE based devices. adi Hi!\r\n\r\nHere's my reworked patch that supports restarting jackd on DICE devices without powercycling the device (or doing a bus reset).\r\n\r\nIf you want to try it, killall -9 jackd your running jackd and then try to start jackd again.\r\n\r\nJFTR, here are some notes I posted to the devel-ML along with the first patch, so you have a documented rationale. I'm not sure about re-allocating the ISO channels in question with the IRM. It works without, and a quick test revealed that get1394Service().allocateFixedIsoChannelGeneric() returns -1 anyway, so this probably means the ISO channel is still registered. Hence, I've commented out the corresponding block. It can probably be stripped once we know that we don't want it.\r\n\r\nRationale:\r\n\r\nHi! \r\n\r\nI was tired of powercycling my DICE device each time it crashed.\r\n \r\nI noticed that FFADO is complaining about ISO channel registers not \r\nbeing clean (0xFFFFFFFFUL), because they actually contained a sane \r\nvalue. ;) \r\n \r\nSame holds true for the device owner register, FFADO expects the device \r\nto be unoccupied, but that's a little bit too strict, because there's \r\nanother "good" case: if the current owner is us, because we were running \r\nbefore and just crashed on the software side. No need to abort \r\neverything in this case. \r\n \r\nLast but not least: GLOBAL_ENABLE usually is true when jackd has \r\ncrashed. In this state, we cannot (or at least the current code says so) \r\nswitch sample rates and the lot. Consequently, I set GLOBAL_ENABLE to \r\nfalse when restarting the device to re-enable all those functions. enhancement closed minor FFADO 2.1 devices/dice FFADO SVN (trunk) fixed nils