TSL during it's execution locks the memory bus.
Here, process P0 enter_region() sets the lock to 1 untill it's C.S. execution is performed completely and leave_region() sets back it to 0.
When another process tries to access the C.S., remember the lock value is 1. So it goes to busy waiting, untill the lock is free.
So there is no deadlock. Deadlock occurs when both processes are not able to execute. But clearly process P0 is being executed.