summaryrefslogtreecommitdiffstats
path: root/sys/dev/altera/sdcard/altera_sdcard_io.c
diff options
context:
space:
mode:
Diffstat (limited to 'sys/dev/altera/sdcard/altera_sdcard_io.c')
-rw-r--r--sys/dev/altera/sdcard/altera_sdcard_io.c15
1 files changed, 9 insertions, 6 deletions
diff --git a/sys/dev/altera/sdcard/altera_sdcard_io.c b/sys/dev/altera/sdcard/altera_sdcard_io.c
index b256c0b..55d2c4a 100644
--- a/sys/dev/altera/sdcard/altera_sdcard_io.c
+++ b/sys/dev/altera/sdcard/altera_sdcard_io.c
@@ -390,20 +390,23 @@ altera_sdcard_io_complete(struct altera_sdcard_softc *sc, uint16_t asr)
break;
}
if (error) {
+ sc->as_retriesleft--;
+ if (sc->as_retriesleft == 0 || bootverbose)
+ device_printf(sc->as_dev, "%s: %s operation block %ju "
+ "length %ju failed; asr 0x%08x (rr1: 0x%04x)%s\n",
+ __func__, bp->bio_cmd == BIO_READ ? "BIO_READ" :
+ (bp->bio_cmd == BIO_WRITE ? "BIO_WRITE" :
+ "unknown"),
+ bp->bio_pblkno, bp->bio_bcount, asr, rr1,
+ sc->as_retriesleft != 0 ? " retrying" : "");
/*
* This attempt experienced an error; possibly retry.
*/
- sc->as_retriesleft--;
if (sc->as_retriesleft != 0) {
sc->as_flags |= ALTERA_SDCARD_FLAG_IOERROR;
altera_sdcard_io_start_internal(sc, bp);
return (0);
}
- device_printf(sc->as_dev, "%s: %s operation block %ju length "
- "%ju failed; asr 0x%08x (rr1: 0x%04x)\n", __func__,
- bp->bio_cmd == BIO_READ ? "BIO_READ" :
- (bp->bio_cmd == BIO_WRITE ? "BIO_WRITE" : "unknown"),
- bp->bio_pblkno, bp->bio_bcount, asr, rr1);
sc->as_flags &= ~ALTERA_SDCARD_FLAG_IOERROR;
} else {
/*
OpenPOWER on IntegriCloud