Fix three bugs highlighted by review:
- maxio should be dp->d_maxsize. This is often MAXPHYS, but not always (especially if MAXPHYS is > 1MB).
- Unlock the periph before returning. We don't need to relock it to release the ccb.
- Make sure we release the ccb in error paths.
Reviewed by: cperciva