optimize nvme_directive_receive() function

In result of static analysis I found unreachable code in nvme_directive_receive() function: default blocks returnings of switch construction in lines 7134-7152 are unreachable and redundant, because we quitting out in if() block when these conditions recieves.

Since this code is formed by two commits (1 and 2) defaults in switch/case repeat these compares of dtype and doper variables. How about to optimize it?