If I understood the Link Layer correctly, it is always exactly in one of the five states "Standby", "Advertising", "Scanning", "Initiating", or "Connected". So how is it possible that I can connect to two devices simultaneously? When I am connected to one device, the Link Layer is in "Connected" state. To connect to another device, it would have to switch to "Initiating" or "Advertising" state (depending on its GAP role), while maintaining the "Connected" state to the already connected device. But then it is in two states simultaneously, which is forbidden.
Where am I wrong?
You are correct in your understanding of the Link Layer states; this is demonstrated in a figure in the Core Specification (1):-
However, the specification also states that the Link Layer may optionally support multiple state machines as follows (2):-
The table below lists a couple of possible combinations of Link Layer states (3):-
I hope this helps.