[dm-devel] Calling bio_endio() without completing submit_bio()

Does anyone know if it is possible to make a call to bio_endio() while
we are still executing a submit_bio()? For example, a call to
submit_bio() on a virtual device backed by the device mapper would end
up in a call to the dm_request() function, which would eventually end
up in a call to ti->type->map() in __map_bio() function. Is it
valid to call bio_endio() from the map() function for individual target
types?