Page MenuHomeFreeBSD

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

Authored by kibab on Jun 19 2018, 8:43 PM.
Tags
None
Referenced Files
Unknown Object (File)
Sun, Oct 12, 12:06 PM
Unknown Object (File)
Sun, Oct 12, 8:17 AM
Unknown Object (File)
Mon, Oct 6, 3:07 AM
Unknown Object (File)
Fri, Oct 3, 4:56 PM
Unknown Object (File)
Mon, Sep 29, 11:52 AM
Unknown Object (File)
Sun, Sep 28, 12:26 PM
Unknown Object (File)
Sun, Sep 28, 4:12 AM
Unknown Object (File)
Fri, Sep 26, 3:11 PM
Subscribers

Details

Summary

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

Lint
Lint Passed
Unit
No Test Coverage
Build Status
Buildable 23206
Build 22249: arc lint + arc unit

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.

sys/cam/mmc/mmc_da.c
241

I'd consider making this a kassert.

823–824

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.

826

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.
sys/cam/mmc/mmc_da.c
823–824
kibab marked an inline comment as done.

addressed reviewer comments

sys/cam/mmc/mmc_da.c
241–243

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.