Actually, it's not Toshiba's bug either. It's Freescale's bug.
Whch means that there's a very good chance that the man responsible for the bug is a former coworker of mine. But I'll never tell if it is.
And it's actually more likely that it's the fault of some long gone and forgotten 22 year old programmer in beijing, from what I hear of freescale's hiring practices over the last 6 years.
It's a rookie mistake - and freescale's kernel team consists of a bunch of suspendered old unix geeks (who i used to work with, before they were part of freescale) in the US working in conjunction with wet-behind-the-ears, just-out-of-college, never-wrote-a-driver-in-their-life chinese programmers who never stick around for long. A lot of whom, I'm told, are very smart guys - just with zero experience and low pay.
One of my old friends over there left in large part because he realized that all he was doing was teaching young chinese guys how to write device drivers, and every 3 months the guy he'd been teaching would quit and get a better job, and he'd have to teach a new one.
Moreover, it's a failure in QA.
Which isn't specifically the fault of programmers. From a QA perspective, it's nice if coders unit test their code, but all coders produce buggy code. The only differences among them are how many they produce and how much they realize that they need another set of eyes on the product. And believe me, my friends at Freescale wish they had a real QA team in house. And they don't. And that's not their fault. I'd work with those guys again in a heartbeat - but their bosses aint hiring.
Microsoft takes some blame for not taking advantage of their own QA team, and so does Toshiba. Obviously the leapyear rollover condition was never tested. The rule in QA is outwardly "trust but verify" - and inwardly it's "verify. Don't trust."
I could go on about the state of quality control in the software industry, but it gets boring and preachy.