Page MenuHomeFreeBSD

sys/cam/mmc/mmc_da.c: Refactor error handling

Authored by kibab on Jun 19 2018, 8:43 PM.



There is some code duplication in error handling paths in a few functions.
Create a function for printing such errors in human-readable way and get rid
of duplicates.

Diff Detail

rS FreeBSD src repository - subversion
Automatic diff as part of commit; lint not applicable.
Automatic diff as part of commit; unit tests not applicable.

Event Timeline

linimon retitled this revision from Refactor error handling to sys/cam/mmc/mmc_da.c: Refactor error handling.Jul 18 2018, 1:21 PM
imp requested changes to this revision.Jul 18 2018, 10:32 PM

make sure all the places you've put the mmc_handle_reply can handle errno-type errors. There's at least one that can't.

241 ↗(On Diff #44101)

I'd consider making this a kassert.

822 ↗(On Diff #44101)

My brain tells me you still need to check the error here, but reading code suggests we always set the ccb_h.status, so maybe that's OK.

side note: cam_periph_runccb should grow stats support for MMC_IO transactions.

825 ↗(On Diff #44101)

so mmc_handle_reply returns ERRNO type errors. but two lines below, you return MMC_ERR_FAILED. You can't mix and match like that.

This revision now requires changes to proceed.Jul 18 2018, 10:32 PM
kibab added inline comments.
822 ↗(On Diff #44101)
kibab marked an inline comment as done.

addressed reviewer comments

241 ↗(On Diff #55258)

I'd (a) line-wrap this at 80, (b) print func_code and possibly the ccb %p in the KASSERT; it makes debugging a lot easier if you hit it.

Address comments from bz@

This revision is now accepted and ready to land.Apr 1 2019, 6:24 PM
This revision was automatically updated to reflect the committed changes.