It depends on how you define your separation in this particular application. If you have two separate ways of getting data (one from your data source object, one from your BLL/DAL) then yes this could be construed as a violation of the principal since you no longer clearly have a point at which the application can be separated.
If your Data Source is exposed as your point of interaction for the DAL, then this becomes a better model.
The idea of separation is to put as much of the separate parts of your application into modules that can be easily worked with (including swapping out, though this is not necessarily a primary concern). This means that you need to have well defined (and easily identifiable) points of interaction between libraries/modules in your application.
Ultimately the choice comes down to what is easier to maintain/extend in the time given for the project/application.