smbus: allow returning an error from reads