[patch 00/12] can: c_can: Fix a series of serious bugs and improve the performance

From: Thomas Gleixner
Date: Tue Mar 18 2014 - 13:19:55 EST


First of all, I'm really grumpy as hell.

This is the worst driver I looked at in the last 10 years. And that's
an achievement.

The driver is full of serious bugs:

- Two HW init routines are not spec compliant.

- Completely defective message buffer handling in several ways
That leads to interrupt storms and complete lockups.

- Complete lack of SMP awareness

What's amazing is that people "optimize" and "fix" the driver over and
over, but nobody bothered to understand the manual and repair the code
for real.

The series fixes _ALL_ bugs which I found so far, but I'm sure there
are more issues burried in that unreadable mess. I'm just not able to
trigger them.

The last few patches add real performance improvements by removing a
gazillion of pointless hardware operations.

Thanks,

tglx

--------------->

c_can.c | 311 ++++++++++++++++++++++++++++++-------------------------
c_can.h | 29 +++++
c_can_platform.c | 48 ++++++--
3 files changed, 241 insertions(+), 147 deletions(-)



--
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/