You cannot disable the L2 and L1 Data caches independently, because they are controlled by the same enable. See System Control Register. On a cache miss, critical word-first filling of the cache is performed.
If the cache reports a hit on a memory location that is marked as Non-Cacheable or Device, this is called an unexpected cache hit. In this architecturally unpredictable case, the cache might return incorrect data. Because the caches are physically addressed, improper translation table configuration can create this scenario. Disabling the cache can also create this situation. Non-Cacheable or Device accesses do not lookup in the cache, and therefore ignore any unexpected cache hit.