Explicitly check for memory allocation failures, and return status to
indicate that we could not collect data due to errors.
This lets the driver have a far more predictable failure mode on ENOMEM in
that codepath: it will refuse to load. This is far better than trying to
proceed with missing data which is used to detect quirks, etc.
Signed-off-by: Henrique de Moraes Holschuh <hmh@hmh.eng.br>