Switching back to 1x mode is a good idea. I'm not sure the kernel needs to do anything there, I think it's really the app that would need changes to support that. I mean, I don't think we did anything in the kernel to support the 1x-to-4x switch. Or if we did I've forgotten it and can't find it (entirely possible).antus wrote:The Mode 20 is actually a return to normal speed message, so its possible that another module did miss a 3F test tool present, switch back to 1x and send the mode 20. The PCM should switch back to 1x, which it does on a reboot, but perhaps we should not reboot the kernel on a mode 20, and instead program the vpw chip recever to 1x where it could wait for another flash attempt from hammerer. It'd mean we need to add something else for reboot pcm, and we'd need to handle the speed change logic in the kernel instead of leaving it to the OS for 1x and 4x.
Of course if the bus was in 1x then this doesnt explain why another module would have sent that message but its food for thought.
I think we're OK keeping mode 20 for reboots if the kernel only treats it as a reboot if it comes from the app (F0 in the 'from' byte). That way other devices won't trigger reboots.