Hello @jiameng,
Could you please tell us which memory regions are you trying to protect?
If you are at peripheral address region (0x4000_0000-0x400F_FFFF), that could explain the incompatibility between MPU and USB, as USB work address is at 0x4003_5000 (USB DCD) and 0x4007_2000 (USB OTG FS/LS). These addresses should be accessible for USB to work. It might be good making these addresses accessible for both (MPU and USB) modules to work as expected.
Related with the Ethernet module, this one has an address 0x400C_0000, so it is in the peripheral address region too.
SYSMPU_Enable(SYSMPU, 0) is necessary because setting 0 (false) the VLD (Valid) bit in CESR allows all accesses from all bus masters allowed; eliminating or ignoring this won't let USB to work, as VLD is set to 1 when the MCU resets, and MPU don't let USB access.

[K64 Reference Manual. Chapter 19. Memory Protection Unit]
Please look at K64 Sub-Family Reference Manual. Chapter 4. Memory Map. and Chapter 19. Memory Protection Unit (MPU) for more information.
Best regards, Raul.