saa716x: fixed saa716x_request_irq() error paths

request_irq() returns useful error codes already and there is no need to
translate them (inconsistently) into other messages.

The error path for MSI-X was broken because requested irqs were no
freed.

Patch uses a better termination method for the MSI-X loop; previously it
looped infinitly and was aborted only because request_irq() was called
with invalid parameters (--> overflowed buffers).

Signed-off-by: Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>

This commit is taken from https://github.com/ensc/linux-saa716x/commit/23170abd6012157a1fd43d9f9b8bfa2e4e23aad4