-->

The banes of placing functionality in the controller rather than the kernel are:

- Once a bug occurs they are difficult to fix, a new firmware or revision may be required.

- For performance improvement of algorithms hardware upgrades are required rather than a device driver update.