M
@asuffield said:@woodle said:Um, so The Real WTF™ is that when they tested the driver they didn't happen to notice that it doesn't actually work?Linux hardware drivers are not routinely tested with every new upstream kernel release, because there's thousands of the bloody things and nobody has all the hardware - this change was probably tested against a different piece of hardware, where it happened to work. The QA model for linux drivers is based on feedback: if a new version breaks a driver, then either somebody will report the fault or nobody cares. Distributions are expected to maintain their own versions, where they delay acceptance of changes until they are confident in them, and each distribution gets to make its own choices about what degree of testing is sufficient. Upstream kernels are expected to break drivers.This is why everybody who complains that a given vendor has an "old" version of the kernel has no clue what they are talking about.
Actually, looking at the device list, the change which caused this affects exactly two devices (Terratec Cinergy T XS and Kworld 350 U DVB-T) and fails on at least the Terratec. (I'd expect it to fail on the Kworld too, since it uses similar hardware and the same GPIO code, but perhaps they built their hardware slightly differently.) Also, the driver in question is currently not merged into Linux, for reasons unrelated to this bug.
@asuffield said:@woodle said:The issue has nothing to do with the kernel, the driver design is such that the thing can't be initialised - it needs to use the analog api to initialise, but it's ignoring analog api commands. It's not even that it's for different hardware (unless I've read it wrong). It could never have worked.It's a combination of several layers of code - some specific to one piece of hardware, some that apply to the entire class of hardware, and some generic. One layer changed and broke another.
The thing is, all the major culprits - the analog driver, the digital driver and the tuner driver - were mostly written by (and are currently sort-of maintained by) one person. The analog and digital drivers are also tightly bound and are designed to be used together; the tuner driver was written for (and is mainly used with) these drivers.