git: 3b433ed76500 - main - mmcsd(4): properly set BIO error when partition switching fails
Marius Strobl
marius at FreeBSD.org
Thu Jan 21 23:20:55 UTC 2021
The branch main has been updated by marius:
URL: https://cgit.FreeBSD.org/src/commit/?id=3b433ed76500f1dde444bed736f9f36695cb93a0
commit 3b433ed76500f1dde444bed736f9f36695cb93a0
Author: Marius Strobl <marius at FreeBSD.org>
AuthorDate: 2021-01-21 23:09:09 +0000
Commit: Marius Strobl <marius at FreeBSD.org>
CommitDate: 2021-01-21 23:18:40 +0000
mmcsd(4): properly set BIO error when partition switching fails
While at it, remove redundant braces and goto in mmcsd_task().
Reported by: Coverity
CID: 1419639
---
sys/dev/mmc/mmcsd.c | 10 ++++------
1 file changed, 4 insertions(+), 6 deletions(-)
diff --git a/sys/dev/mmc/mmcsd.c b/sys/dev/mmc/mmcsd.c
index 2a55a9be1548..5e821586f722 100644
--- a/sys/dev/mmc/mmcsd.c
+++ b/sys/dev/mmc/mmcsd.c
@@ -1440,6 +1440,7 @@ mmcsd_task(void *arg)
mmcbus = sc->mmcbus;
while (1) {
+ bio_error = 0;
MMCSD_DISK_LOCK(part);
do {
if (part->running == 0)
@@ -1481,21 +1482,18 @@ mmcsd_task(void *arg)
if (block < part->eend && end > part->eblock)
part->eblock = part->eend = 0;
block = mmcsd_rw(part, bp);
- } else if (bp->bio_cmd == BIO_DELETE) {
+ } else if (bp->bio_cmd == BIO_DELETE)
block = mmcsd_delete(part, bp);
- } else {
+ else
bio_error = EOPNOTSUPP;
- goto release;
- }
release:
MMCBUS_RELEASE_BUS(mmcbus, dev);
if (block < end) {
bp->bio_error = (bio_error == 0) ? EIO : bio_error;
bp->bio_resid = (end - block) * sz;
bp->bio_flags |= BIO_ERROR;
- } else {
+ } else
bp->bio_resid = 0;
- }
biodone(bp);
}
out:
More information about the dev-commits-src-main
mailing list