diff options
| -rw-r--r-- | sys/src/9/port/sdmmc.c | 12 |
1 files changed, 10 insertions, 2 deletions
diff --git a/sys/src/9/port/sdmmc.c b/sys/src/9/port/sdmmc.c index 2fae9f5e3..a153c7ffd 100644 --- a/sys/src/9/port/sdmmc.c +++ b/sys/src/9/port/sdmmc.c @@ -297,9 +297,17 @@ mmcbio(SDunit *unit, int lun, int write, void *data, long nb, uvlong bno) } static int -mmcrio(SDreq*) +mmcrio(SDreq *r) { - return -1; + int i, rw, count; + uvlong lba; + + if((i = sdfakescsi(r)) != SDnostatus) + return r->status = i; + if((i = sdfakescsirw(r, &lba, &count, &rw)) != SDnostatus) + return i; + r->rlen = mmcbio(r->unit, r->lun, rw == SDwrite, r->data, count, lba); + return r->status = SDok; } SDifc sdmmcifc = { |
