Xingui,
When the host protection capabilities are 0x77 and a DIF disk is
connected, the DIX and DIF of the disk are default enabled. Then if
that DIF disk is reformatted as a non-DIF format, per the currently
flow, the DIX is kept enabled which is not correct
DIX is orthogonal to DIF and a host property. DIX should not be disabled
just because the disk is no longer formatted with protection
information.
That said, your patch is probably fine. I'll take a closer look
tomorrow.