diff options
author | cinap_lenrek <cinap_lenrek@felloff.net> | 2015-09-20 14:53:44 +0200 |
---|---|---|
committer | cinap_lenrek <cinap_lenrek@felloff.net> | 2015-09-20 14:53:44 +0200 |
commit | fa769a8f9d2200387c9e76f059dab2e213a8a792 (patch) | |
tree | b5ab0402abe16671efeed5943907aa861f61b7af /sys/src/9 | |
parent | c7c58ef8bb07a917dc9e1891b9226a132493c84a (diff) |
sdmmc: handle fakescsi emulation
Diffstat (limited to 'sys/src/9')
-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 = { |