return usable error codes from scsi_cmd

This hopefully enables us to catch some conditions
when raw reading doesn't work.